通过ADO.NET操作数据库

数据库操作主要是执行命令和读取数据

 

1.连接

 

要访问数据库,首先要与数据库建立连接,在ADO.NET中是通过Connection对象与数据库建立连接的

 

例如:建立与SQLServer服务器上Mycharge数据库连接的代码:

 

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. 使用数据集
  2. 直接对数据库进行操作

 

如何使用数据集访问?


1.填充数据集

将外部数据源数据加载到数据集中(使用适配器)

 

什么是适配器

 适配器就好像是一座桥梁,用于数据源和数据集之间减缓数据,如图所示



使用适配器可以对数据进行增,删,改,查,分别为:


  1. SelectCommand:指定某命令对象以便从数据存储区检索行
  2. InsertCommand:指定某命令对象以便向数据存储区插入行
  3. UpdateCommand:指定某命令对象以便修改数据存储区中的行
  4. DeleteCommand:指定某命苦对象以便从数据存储区删除行

 

2.数据集更新


  1. 更新数据集中的数据(一般为增,删,改)
  2. 将更新后的数据集同写到数据源中,也就是说,更新数据集的过程不会同时将更改直接写入数据源,因为数据源是断开连接的,必须通过代码显式执行一下。具体做法是调用数据适配器的Update方法

      注:在某些情况下是不能使用数据集的。例如想要创建表之类的数据库元素,则必须使用命令对象

 

如何直接对数据库进行操作?

 

      通过Command(命令)对象执行SQL语句或存储过程,如果执行的结果返回的是一个记录集,则可以使用DataReader(数据读取器)对象读取数据。.NET针对不同的提供程序创建了相应的Command对象,例如:

  • OleDbCommand:用于OLE DB提供程序
  • SQLCommandSQL Server7.0或更高版本
  • ODBCCommandODBC数据源的Command对象

使用command对象的步骤


1.构造命令对象


下面是一段构造cmd命令对象的代码。它使用的连接对象为cn。所要执行的命令是从Information表中选择所有的数据

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中读取数据,并将数据列IDName的所有数据输出到控制台

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()

注:

  1. DateReader是一个只向前的连接光标,即只能沿一个方向遍历记录,在此过程中数据库连接要一直保持打开状态,否则将不能通过DataReader读取数据
  1. 在完成数据读取后,需要调用Close()方法关闭DataReader对象,

 

 

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值