您的位置:首页 > 职场人生

黑马程序员__ADO.Net

2012-11-22 14:25 267 查看
---------------------- Windows Phone 7手机开发、.Net培训、期待与您交流! ----------------------

什么是ADO.NET?
ADO.NET就是一组类库,这组类库可以让我们通过程序的方式访问数据库,就像system.IO下的类用类操作文件一样,system.Data这组类是用来操作数据库(不光是MSSql Server),他提供了统一的编程接口让操作其他数据库(access和oracle)。

数据提供程序

Connection

Command

DataReader只读只进的结果集

DataAdapter

Connection:负责连接数据库,找到数据库,进行身份验证,与数据库建立起一个传数据的通道。
Commend:负责操纵数据库,向数据库发送sql让数据执行。
DataReader:负责快速只进的读取数据库。一行一行的读取数据。
DataAdapter:适配器,可以吧数据库中的一个select结果集的数据一下子取出来放到dataset中。
注意:上面的四个类不是我们用到的具体类。
举例:如果访问sqlserver数据库,SqlConnection、SqlCommend....
如果是oracle数据库,OracleConnection、OracleCommend....

数据集(类 DataSet)
dataset我们可以理解为放在内存中的数据库
Tables 是存储多个表的属性

using System.Data.Sqlclient //访问mssqlsercer数据库命名空间

操作数据库三步走:
第一步,连接数据库
第二步,发送命令操作数据库并接受操作是否成功的状态
第三步,断开数据库

连接数据库的对象:连接数据库的步骤
sqlConnection:
第一步:
[align=left]SqlConnection conn = new SqlConnection(连接字符串);[/align]
[align=left]第二步:[/align]
[align=left]调用open方法连接到数据库[/align]
[align=left]第三步:[/align]
[align=left]调用 conn.close();断开与数据库的连接[/align]
[align=left] [/align]
[align=left]操作数据库:[/align]
[align=left]第一步:[/align]

[align=left]SqlCommand cmd=new SqlCommand(sql,conn); //sql是数据库语句[/align]
[align=left]cmd.Connection属性:设置连接对象。sql语句是对cmd.Connection属性赋值[/align]
[align=left]cmd.CommandText属性:要执行的sql语句。conn是对cmd.CommendText属性赋值[/align]
[align=left] [/align]
[align=left]第二步:[/align]
[align=left]int i = cmd.ExecuteNonQuery(); //用于执行一个没有返回值的sql语句(insert update delete)这个方法的返回值是受影响的行数[/align]

Sqlcommand的重要方法!
第一个重要方法:cmd.ExecuteNonQuery()
上面的方法无法得到数据库中的值,要想得到数据库中的值,需要第二个第二个重要方法!

第二个重要方法:
cmd.ExecuteScalar 执行一个sql语句(一般是select语句)并且返回第一行第一列的值,由于没有办法确定第一行第一列的数据类型,所以他的返回值类型为:object

第三个重要方法:
cmd.ExecuteReader 用于得到多行多列的一个数据库,他一般执行一个select SQL语句,结果集可以是多行多列。
[align=left]SqlDataReader dr = cmd.ExecuteReader(); [/align]
[align=left]cmd.ExecuteReader方法返回了一个SqlDataReader的对象,这个返回值适用于操作我们sql语句得到的结果集的![/align]
[align=left]执行完sql得到一个结果集,这个结果集存储在数据库上,还没取回到我们的程序中。[/align]
[align=left]要想去回到程序中,要调用dr.Read()方法![/align]
[align=left]没调用一次Read方法,dr都会去数据库上的结果集中取下一条记录,如果能取到下一条记录,则返回值为true,否则为false[/align]

SqlDataReader是一个持续连接对象,它在操作数据库的时候,要保持与数据库的连接,并且和这个对象相关的commend和connection不能再做其他事情。

dr.FieldCount:获得结果集中的个数

遍历结果集中的所有数据:
[align=left]while (dr.Read())[/align]
[align=left] {[/align]
[align=left] //读取数据[/align]
[align=left] string str = string .Format("姓名:{0} 年龄:{1}", dr["sName" ], dr["sAge"]);[/align]
[align=left] MessageBox.Show(str);[/align]
[align=left] }[/align]

在sql语句中,用参数来占位用户输入的内容:@+随便取个名字
一旦sql语句中有参数了,那么在执行的时候就要告诉commend sql语句中的参数占位符取哪些值~

---------------------- Windows Phone 7手机开发、.Net培训、期待与您交流! ----------------------
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: