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. OLEDB简介

    OLE DB(OLEDB)是微软的战略性的通向不同的数据源的低级应用程序接口.OLE DB不仅包括微软资助的标准数据接口开放数据库连通性(ODBC)的结构化查询语言(SQL)能力,还具有面向其他非SQ ...

  2. ubuntu apache2配置详解(含虚拟主机配置方法)

    ubuntu apache2配置详解(含虚拟主机配置方法) 在Windows下,Apache的配置文件通常只有一个,就是httpd.conf.但我在Ubuntu Linux上用apt-get inst ...

  3. Js获取Gridview中Dropdownlist选中状态

    在Gridview中加入Dropdownlist模板列,加入DropDownlist 是一种常用的操作,其中涉及到如何获取选择项和Gridview重新绑定两个要点. 如图 前台代码如下 <%@ ...

  4. oracle索引学习

    查看执行状态: 选中代码直接按F5,或者点击Tools===>>Explain Plan 一.索引的注意事项: 当任何单个查询要检索的行少于或者等于整个表行数的10%时,索引就非常有用.这 ...

  5. iOS-设计模式之Block

    Block是代码块, Block定义 返回值 (^ 块名)(参数1,参数2…); 在定义Block的时候可以使用typedef 重命名一下. typedef void(^blockName)(NSSt ...

  6. zeromq源码分析笔记之准备(0)

    zeromq这个库主要用于进程通信,包括本地进程.网络通信,涉及到一些基础知识,主要包括管道通信,socket编程的内容,反应器模式(使用IO多路复用实现),无锁队列这几块比较重要的部分,下面的几个链 ...

  7. Mac OS X和iOS上基本数据类型的字节数

    在Mac和IPhone上分别运行下面的程序: NSLog(@"char size = %lu", sizeof(char)); NSLog(@"short int siz ...

  8. JQuery中的省市联动

    <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <m ...

  9. css布局学习笔记之max-width

    设置块级元素的 width 可以阻止它从左到右撑满容器.然后你就可以设置左右外边距为 auto 来使其水平居中.元素会占据你所指定的宽度,然后剩余的宽度会一分为二成为左右外边距. div{ width ...

  10. information_schema.engines学习

    当前mysql实例的存储引擎信息可以从information_schema.engines 中查询到 例子: mysql> select * from information_schema.en ...