ADO.NET

为什么要学ADO.NET

之前我们所学只能在查询分析器里查看数据,操作数据,我们不能让普通用户去学sql,所以我们搭建一个界面(Web Winform)让用户方便的操作数据库中的数据

什么是ADO.NET

ADO.NET就是一组类库,这组类库可以让我们通过程序的方式访问数据库,就像System.IO下的类用类操作文件一样, System.Data.这组类是用来操作数据库(不光是MSSql Server),它提供了统一的编程接口让操作其它数据库(Access、Oracle等)的方式和操作MSSql Server一致

数据提供程序

connection      //连接对象

        command

            executeNonQuery //执行增删改

            executeScalar   //执行查询返回首行首列

                insert into class() values();select @@identity

            executeReader   //执行查询返回只读只进的结果集datareader

        datareader

            hasRow      //是否有行

            fieldCount      //字段的个数

            read() 

            dr["列名"]  //返回object

            dr.GetString(序号)

            close()

        dataadapter

    数据集

        dataset

 

ADO.NET功能结构

  

第一个对象Connection

读取Sql Server数据库使用

    创建SqlConnection对象

    获取连接字符串 指定要连哪台服务器上的、哪个实例的哪个数据库、用什么用户名密码等。

第二个对象Command

操作Sql Server数据库使用SqlCommand对象

SqlCommand表示向服务器提交的一个命令(SQL语句等) , CommandText属性为要执行的SQL语句,ExecuteNonQuery方法执行一个非查询语句(Update、Insert、Delete等)

常用的三个方法

ExecuteNonQuery()       执行对数据库的增删改,返回受影响的行数

ExecuteScalar()      执行查询,返回首行首列

ExecuteReader()     执行查询,返回DataReader对象

 

ExecuteScalar方法用于执行查询,并返回查询所返回的结果集中第一行的第一列,因为不能确定返回值的类型,所以返回值是object类型。

得到自动增长字段的主键值,在values关键词前加上output inserted.Id,其中Id为主键字段名。执行结果就试插入的主键值,用ExecuteScalar执行最方便。

cmd.CommandText =“insert into class(cName,cDescription) output inserted.Id values(‘高三一班’,‘描述’)”;

int i = Convert.ToInt32(cmd.ExecuteScalar());

 

SqlDataReader reader = cmd.ExecuteReader();

HasRow属性返回是否有行

while (reader.Read())

{      Console.WriteLine(reader.GetString(1));

}

reader的GetString、GetInt32等方法只接受整数参数,也就是序号,用GetOrdinal方法根据列名动态得到序号

更简单的方法reader[‘uUserName’]

DataReader 必须独享一个Connection

 

DataSet dataset = new DataSet();

SqlDataAdapter adapter = new SqlDataAdapter(cmd);

adapter.Fill(dataset);

SqlDataAdapter是DataSet和数据库之间沟通的桥梁。数据集DataSet包含若干表DataTable,DataTable包含若干行DataRow。foreach (DataRow row in dataset.Tables[0].Rows) row["Name"]。

posted on 2011-11-20 12:39  妖叨叨  阅读(1125)  评论(0编辑  收藏  举报

导航