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. html进阶css(5)

    css定位机制 css有三种基本的定位机制:普通流,浮动和绝对定位. 除非专门指定,否则所有框都在普通流中定位.也就是说,普通流中的元素的位置由元素在html中的位置决定. 块级框从上到下一个接一个的 ...

  2. iOS开发 数据库FMDB

    iOS开发  数据库FMDB 1.简介 需求作用: 如果需要保存大量的结构较为复杂的数据时候, 使用数据库, 例如交规考试项目 常用的数据库: (1)Microsoft SQL Server 2000 ...

  3. Java IO5:管道流、对象流

    前言 前面的文章主要讲了文件字符输入流FileWriter.文件字符输出流FileReader.文件字节输出流FileOutputStream.文件字节输入流FileInputStream,这些都是常 ...

  4. (原)Vs中debug和release结果不一致

    转载请注明出处: http://www.cnblogs.com/darkknightzh/p/5598091.html 前两天调试程序,出现了一个很蛋疼的问题,debug和release结果不一致.网 ...

  5. html5本地存储web storage的简单使用

    html5的一个非常cool的功能,就是web storage,类似于之前的cookie,不过与之不同的是,web storage 拥有本地5兆的容量可以存储,而cookie却只有4K,这是完全不能比 ...

  6. IE6 双倍距BUG

    IE6双倍距BUG的形成: 1.快元素 2.元素浮动 3.margin左右 解决方案:_display:inline;

  7. Font Rending 的 Hint 机制对排版的影响

    Font Rending 的 Hint 机制对排版的影响[转] 在设计一种 Font 时,设计者使用的是一个抽象的单位,叫做 EM,来源于大写 M 的宽度(通常英文字体中大写 M 的宽度最大).EM ...

  8. jdbc 通过rs.getString()获取数据库中的时间字段问题

    例如在mysql中的一张表中存在一个字段opr_time为datetime类型, 在JDBC 中通过rs.getString("opr_time");来获取使会在日期后面添加&qu ...

  9. Weblogic缓存

    缓存:如果脱离IDE工具的话,weblogic的文件会在\user_projects\domains\base_domain\servers\AdminServer\tmp\_WL_user文件夹中 ...

  10. jQuery之位置

    1.offset()获取匹配元素在相对浏览器窗口的偏移量 返回一个对象,包括两个属性.left:相对浏览器窗口左边的距离.top:相对浏览器顶部的距离.  $("#div1").o ...