ADO.net是一门.net连接、操作数据库的技术
 

释放资源:凡是实现了idisposable借口的类都需要用using来释放资源

using()

{

}

连接数据库

                     //创建数据库连接:
using(SqlConnection conn=new SqlConnection("连接字符串"))//连接字符串
{
conn.open();//打开连接
using(SqlCommand cmd =conn.CreateCommd())
{
cmd.CommadTest="sql 语句";
            ......

在线数据连接方式:

参数化查询:

                    cmd.CommadText="select * from T_Student where name =@name add age=@age;"

                    cmd.Parameters.add(new SqlParameter("@name", txtName.text));//给参数赋值

                    cmd.Parameters.add(new SqlParameter("@age", Convert.ToInt32(txtAge.text)));//给参数赋值

ExcuteNonquery一般用于非查询语句(insert,delete,update)

                    cmd.CommandText = "insert into T_a (name , age ) values (@name,@age);";
cmd.Parameters.Add(new SqlParameter("@name", txtName.Text));
cmd.Parameters.Add(new SqlParameter("@age", txtAge.Text));
int count= cmd.ExecuteNonQuery();
MessageBox.Show(count+"行受影响")

ExcuteScalar一般用与执行返回值只有一行一列的sql语句

                    cmd.CommandText = "select age from T_a where Id=@id and name =@name;";
cmd.Parameters.Add(new SqlParameter("@id", txtID.Text));
cmd.Parameters.Add(new SqlParameter("@name", txtName.Text));
try
{
string age = cmd.ExecuteScalar().ToString();
MessageBox.Show(age);
}
                    catch
                    {
                        MessageBox.Show("找不到匹配的值");
                    }

ExcuteReader用于sql查询语句,查询结果放在数据库中,占用服务器资源,返回类型为SqlDateReader类型

                    cmd.CommandText = "select * from T_a;";
SqlDataReader reader = cmd.ExecuteReader();
while (reader.Read())
{
long id = reader.GetInt64(0);
string name = reader.GetString(1);
int age = reader.GetInt32(2);
MessageBox.Show(id + "," + name + "," + age);
}

离线数据连接方式:

Dataset查询结果读取到客户端本地,适合数据量较少的查询

                      cmd.CommandText = "select * from T_a where name = @name;";
                    //参数化查询
                    cmd.Parameters .Add (new SqlParameter("@name",txtName.Text));
                    SqlDataAdapter adapter = new SqlDataAdapter(cmd);
                    //创建Dataset数据集
                    DataSet dataset = new DataSet();
                    //将查询结果填入Dataset中
                    adapter.Fill(dataset);
                    DataTable table = dataset.Tables[0];
                    DataRowCollection rows = table.Rows;
                    //遍历每一行的值
                    foreach (DataRow row in rows )
                    {
                       long id = (long)row["id"];
                       string name = (string)row["name"];
                       int age = (int)row["age"];
                       MessageBox .Show (id+","+name+","+age);
                    }

ADO.net基础学习总结的更多相关文章

  1. ADO.net基础学习总结(二)

    将连接字符串放入配置文件中 1.添加一个“应用程序配置文件:app.config” <?xml version="1.0" encoding="utf-8" ...

  2. ADO.NET 基础学习笔记1

    1. ODBC.OLEDB.ADO.ADO.NET之间的关系 ODBC: 开放数据库互连(ODBC)是MICROSOFT提出的数据库访问接口标准.ODBC(Open DatabaseConnectiv ...

  3. ADO.NET基础学习 二(Command对象)

    ②command对象用来操作数据库.(三个重要的方法:ExecuteNonQuery(),ExecuteReader(),ExecuteScalar()) ⑴以update(改数据)为例,用到Exec ...

  4. ADO.NET基础学习 一(连接数据库)

    (记录下方便自己复习) 概念 简单地理解为用来连接数据库的类. 工作流程 ①Connection对象用来连接数据库. 两种连接方式:Windows身份验证 / sqlserver验证 private ...

  5. ADO.NET基础学习-----四种模型,防止SQL注入

    1.ExcuteNonQuery 执行非查询语句,返回受影响的行数. // 1.ExcuteNonQuery string sqlconn = "Data Source=wss;Initia ...

  6. 如鹏网学习笔记(六)ADO.Net基础

    ADO.Net基础 一.ADO.Net简介 1,程序要通过SQL语句自动化的操作数据库,必须要用一个类库, 类库要提供execute("insert into ...")/exec ...

  7. ADO.NET基础巩固-----连接类和非连接类

          最近的一段时间自己的状态还是不错的,早上,跑步,上自习看书,下午宿舍里面编程实战,晚上要么练习代码,要么去打球(在不打就没机会了),生活还是挺丰富的. 关于C#的基础回顾就先到前面哪里,这 ...

  8. C#/.NET 基础学习

    初识C# C#是微软公司发布的面向对象的.运行于.NET Framework之上的高级程序设计语言.与Java有着明显不同,借鉴Delphi的特点,与COM(组件对象模型)直接集成,是微软公司 .NE ...

  9. .Net Core 系列:2、ADO.Net 基础

    目录: 1.环境搭建 2.ADO.Net 基础 3.ASP.Net Core 基础 4.MD5.Sha256.AES 加密 5.实现登录注册功能 6.实现目录管理功能 7.实现文章发布.编辑.阅览和删 ...

随机推荐

  1. Spring 反转控制(IOC) 依赖注入(DI)

    简单的理解: 之前是我为了完成业务A 需要某个对象B的支持 那么我在这个业务A中就会创建一个对象B使用,说白了就是我根据需求来控制对象B, 而spring的ioc把对象B的控制权从业务A手中拿到自己手 ...

  2. 【RequireJS--API学习笔记】

    原文:http://blog.csdn.net/pigpigpig4587/article/details/23427573 目录 RequireJS 加载javascript文件 定义模块 简单的值 ...

  3. magic Ajax使用以及注意事项

    以下是引用片段:一.概述    现在Ajax技术正如火如荼的在Internet上发展着.而面对我们之前开发的ASP.NET1.1的Web项目,类似于下拉框等联动也需要啪啪啪的不断刷新,的确影响到了用户 ...

  4. ScriptManager局部刷新

    ScriptManager和UpdatePanel控件联合使用可以实现页面异步局部更新的效果.其中的UpdatePanel就是设置页面中异步局部更新区域,它必须依赖于ScriptManager存在,因 ...

  5. 第二章 Android Studio使用第三方模拟器

    1.为什么要使用第三方模拟器 Android Studio自带模拟器,相对Eclipse来说项目启动速度的确快了很多倍,提高了开发效率.但和第三方模拟器进行对比的话,还是第三方的模拟器运行速度更快些. ...

  6. J2EE项目开发流程简介

    开发流程(一) 提出需求:产品部提出本周期项目的具体需求. 项目计划:项目经理协调开发部.测试部和产品部进行需求协商,产生项目计划. 需求理解:开发部和测试部向产品部提出各自对需求的理解. 产品设计: ...

  7. 2014年亚洲区域赛北京赛区现场赛A,D,H,I,K题解(hdu5112,5115,5119,5220,5122)

    转载请注明出处: http://www.cnblogs.com/fraud/          ——by fraud 下午在HDU上打了一下今年北京区域赛的重现,过了5题,看来单挑只能拿拿铜牌,呜呜. ...

  8. YUI Array 之some(检测|any)

    YUI原码 YUI someYArray.some = Lang._isNative(Native.some) ? function (array, fn, thisObj) { return Nat ...

  9. 退出ssh,程序继续运行的解决办法

    对Unix.Linux类服务器维护经常是通过ssh完成的,而有些操作执行时间较长,如:更新程序.文件备份.软件编译安装等.此时如果断开ssh连接的话,更新程序就会随之被中断.如何保证断开ssh后仍旧能 ...

  10. PAT 1059. Prime Factors (25) 质因子分解

    题目链接 http://www.patest.cn/contests/pat-a-practise/1059 Given any positive integer N, you are suppose ...