当前位置:编程学习 > asp >>

通过ADO.NET操作数据库

数据库操作主要是执行命令和读取数据
 
1.连接
 
要访问数据库,首先要与数据库建立连接,在ADO.NET中是通过Connection对象与数据库建立连接的
 
例如:建立与SQLServer服务器上Mycharge数据库连接的代码:
 
[html]  
Dim cnStr as string="Password=123456;Persist Security Info=True;User ID=sa;"&_  
"InitialCatalog=Mycharge;Data Source=192.168.24.60"  
Dim cn asSqlConnection =new SqlConnection ()  
cn.ConnectionString=cnStr 'ConnectionString 是Connection对象最重要的一个属性,它用来指定与数据库建立连接时使用的连接串  
cn.Open ()'打开连接  
 
既然代码中提到了连接串,那我们就来说说连接串,平常大家在建立与数据库连接时都要写那一大串连接串,其实书写起来也不麻烦(前提你比较熟悉而且细心),不过错一点也连不上啊,这时候我们可以选择下面的这种方法来获取连接串
 
1.新建一个文本文件,将其扩展名改为udl
2.双击你刚建好的文件,将打开“数据库连接属性”对话框
3.在“提供程序”选项卡选择某个提供者,这里我们选的是SQL Server,单击下一步按钮
4.在“连接”选项卡中输入数据库名称,用户名,密码等信息,单击“测试连接”按钮查看连接是否成功
5.如果成功的话,关闭此对话框,使用记事本再次打开该文件,其中就包含你想要的信息了
    
    注意:由于SQLServer对象是专门针对SQLServer数据库的,它的连接串中不允许指定Provider属性,所以你不要激 动的把上面所有的信息都复制下来,那样是不对的,而要将Provider=SQLOLEDB.1去掉,只复制其后的内容就足够啦!对于其他数据提供程序的Connection对象,如OleDbConnection对象就不存在这个问题
 
2.命令
 
ADO.NET访问数据的基本方式
使用数据集
直接对数据库进行操作
 
如何使用数据集访问?
 
1.填充数据集
将外部数据源数据加载到数据集中(使用适配器)
 
什么是适配器
 适配器就好像是一座桥梁,用于数据源和数据集之间减缓数据,如图所示
 
使用适配器可以对数据进行增,删,改,查,分别为:
 
SelectCommand:指定某命令对象以便从数据存储区检索行
InsertCommand:指定某命令对象以便向数据存储区插入行
UpdateCommand:指定某命令对象以便修改数据存储区中的行
DeleteCommand:指定某命苦对象以便从数据存储区删除行
 
2.数据集更新
 
更新数据集中的数据(一般为增,删,改)
将更新后的数据集同写到数据源中,也就是说,更新数据集的过程不会同时将更改直接写入数据源,因为数据源是断开连接的,必须通过代码显式执行一下。具体做法是调用数据适配器的Update方法
      注:在某些情况下是不能使用数据集的。例如想要创建表之类的数据库元素,则必须使用命令对象
 
如何直接对数据库进行操作?
 
      通过Command(命令)对象执行SQL语句或存储过程,如果执行的结果返回的是一个记录集,则可以使用DataReader(数据读取器)对象读取数据。.NET针对不同的提供程序创建了相应的Command对象,例如:
OleDbCommand:用于OLE DB提供程序
SQLCommand:SQL Server7.0或更高版本
ODBCCommand:ODBC数据源的Command对象
使用command对象的步骤
 
1.构造命令对象
 
下面是一段构造cmd命令对象的代码。它使用的连接对象为cn。所要执行的命令是从Information表中选择所有的数据
[html]  
Dim cnStr as string="Password=123456;Persist Security Info=True;User ID=sa;"&_  
"InitialCatalog=Mycharge;Data Source=192.168.24.60"  
Dim cn asSqlConnection =new SqlConnection ()  
cn.ConnectionString=cnStr 'ConnectionString 是Connection对象最重要的一个属性,它用来指定与数据库建立连接时使用的连接串  
cn.Open ()  
Dim sql as string="SELECT*FROM Categories"  
Dim cmd asSqlCommand =New SqlCommand ()  
cmd .Connection =cn  
cmd.CommandText =Sql  
   
 
 
2.执行命令
 
命令对象所提供的用于执行命令的方法有很多,具体使用哪个方法取决于命令的执行结果返回什么样的数据
 
Cancel:取消命令的执行
ExecuteNonQuery:执行非查询类SQL语句并返回受影响的行数
ExecuteReader:执行查询,将查询结果返回到DataReader中
ExecuteScalar:执行查询,并返回查询所返回的结果集中第一行的第一列,忽略额外的列或行
ExecuteXmlReader:执行查询,将查询结果返回到一个XmlReader对象中
 
3.读取数据
   
  下面代码是从表Information中读取数据,并将数据列ID和Name的所有数据输出到控制台
[html]  
Dim cnStr as string="Password=123456;Persist Security Info=True;User ID=sa;"&_  
"InitialCatalog=Mycharge;Data Source=192.168.24.60"  
Dim cn asSqlConnection =new SqlConnection ()  
cn.ConnectionString=cnStr 'ConnectionString 是Connection对象最重要的一个属性,它用来指定与数据库建立连接时使用的连接串  
cn.Open ()  
Dim sql as string="SELECT*FROM Categories"  
Dim cmd asSqlCommand =New SqlCommand (sql ,cn )  
Dim dr asSqlDataReader =cmd.ExecuteReader()  
while (dr.reader())  
     Dim id as string=dr("ID").ToString()  
     Dim name as string=dr("Name").ToString()  
   
     Console.WriteLine("编号:{0}姓名:{1}" ,id ,name)  
End while  
dr.Close()  
cn.Close()  
 
注:
DateReader是一个只向前的连接光标,即只能沿一个方向遍历记录,在此过程中数据库连接要一直保持打开状态,否则将不能通过DataReader读取数据
在完成数据读取后,需要调用Close()方法关闭DataReader对象,
 
补充:Web开发 , ASP.Net ,
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,