【ADO.NET】数据库操作

来源:互联网 发布:对锐捷网络的了解 编辑:程序博客网 时间:2024/06/05 02:08

接触ADO.NET,下午自己摸索着用代码实现了点增删改查的知识,特此总结  分享一下  


Select :用于检索数据

Insert:用于增加数据到数据库

Update:用于从数据库中修改现存的数据

delete:用于从数据库中删除数据 

 

ADO.NET包含四个主要对象

Connection对象:用于连接数据库

command对象:对数据源执行命令

dataReader对象:在只读和只进的连接模式下从数据源读取数据

DataAdapter对象:从数据源读取数据并使用所读取的数据填充数据集对象


下面是具体的一些小实践

  1.    连接 

要访问数据库,首先要与数据库建立连接,这就用到了connection对象来与特定的数据库建立连接 具体语句如下:

 Dim cnStr As String= "Persist Security Info=False;User ID=sa;Initial Catalog=需要连接的数据库名;Data Source=IP或本机名字;pwd=密码"        Dim cn As SqlConnection = NewSqlConnection(cnStr)        cn.Open() 

        2.   命令

ADO.NET 提供了两种访问数据库的基本方式

1.使用数据集,

直接对数据库进行操作 这些就需要command对象来执行SQL语句实现,在连接好数据库的基础上,首先我们要构造命令对象

DimcnStr As String = "Persist Security Info=False;User ID=sa;InitialCatalog=StudentSystem;Data Source=192.168.24.74;pwd=123456"        Dim cn As SqlConnection = NewSqlConnection(cnStr)        cn.Open()        Dim sql1 As String = "select *from T_user "        Dim cmdq As SqlCommand = NewSqlCommand(sql1, cn)


例如上述代码便是构造了一个名称为cmdp的命令对象,它使用的连接对象为cn,所要执行的命令是从表T_user中选择所有的数据

而对于command对象的几个基本重要属性如下 

属性

含义

commandText

获取或设置要对数据源执行的SQL语句或存储过程

commandTimeout

获取或设置在终止执行命令的尝试并生成错误之前的等待时间

commandType

获取或设置一个值,该值指示如何解释commandText

connection

获取或设置该命令对象使用的connection连接对象

对于上段代码中的Dim cmdq As SqlCommand= New SqlCommand(sql1, cn)这句话我们也可以用另一种方式来描述

 Dim cmdq As SqlCommand = New SqlCommand()        cmdq.CommandText = sql1        cmdq.Connection = cn


表达的意思是一样的,这里就利用了command对象的几个属性,这样就可以清晰的看出每个属性该怎么应用 


3.读取数据DataReader


它是一个从数据源中选择某些数据的最简单的方法,DataReader没有构造函数,因此不能实例化,但可以通过command对象的executeReader方法返回一个实例  例如下面的代码

 

Dim cnStr As String = "Persist SecurityInfo=False;User ID=sa;Initial Catalog=StudentSystem;DataSource=192.168.24.74;pwd=123456"                    'Dim dr As SqlDataReader =cmdq.ExecuteReader()        'While (dr.Read())        '   Dim uid As String = dr("U_ID").ToString()        '   Label1.Text = uid        'End While

 将需要的数据读取出来并输出到文本里面


4.数据的插入:


这里我自己用了一个小例子,打算在三个文本框中输入内容,将这些内容保存到数据库中 具体实现代码如下:

Dim cnStr As String = "Persist SecurityInfo=False;User ID=sa;Initial Catalog=StudentSystem;DataSource=192.168.24.74;pwd=123456"                    'Dim dr As SqlDataReader =cmdq.ExecuteReader()        'While (dr.Read())        '   Dim uid As String = dr("U_ID").ToString()        '   Label1.Text = uid        'End While

在这里我的理解是,在传递值到数据库的过程中,设定以一个参数,通过这个参数在中间来传递值,也就是占位符,文本框把值传给了占位符参数中,而它又把这个值传给了数据库中,进而将数据存储在数据库中! 占位符在这里是一个中间变量,这样传递会更安全些吧,文本框只需知道把值传给占位符就可以了,而哪个表需要这些传就来的数据直接从占位符那里取出就可以了,这是不是也就降低了耦合呢! 

3.数据的读取

 

在我将数据插入到数据库后,加入我想将数据读取出来,显示到控制台上又该如何操作呢,实践代码如下:

 

Private Sub Button2_Click(sender As Object, eAs EventArgs) Handles Button2.Click        Dim cnStr As String = "PersistSecurity Info=False;User ID=sa;Initial Catalog=StudentSystem;DataSource=192.168.24.74;pwd=123456"        Dim cn As SqlConnection = NewSqlConnection(cnStr)        cn.Open()               Dim sql1 As String = "select *from T_user "        Dim cmdq As SqlCommand = NewSqlCommand(sql1, cn)        Dim adp As SqlDataAdapter = NewSqlDataAdapter()        adp.SelectCommand = cmdq        Dim ds As DataSet = New DataSet()        adp.Fill(ds, "T_user")       TextBox1.DataBindings.Add("text", ds,"T_user.U_userlevel")       TextBox2.DataBindings.Add("text", ds, "T_user.U_ID")       TextBox3.DataBindings.Add("text", ds,"T_user.U_password")           End SubEndClass

只需要改变SQL语句即可,在我们插入时用insert  而在读取时需要select  更新时用update 删除时是delete  

在上述代码中读取数据时,就用到了DataAdapter 以及DataSet

DataSet是一个数据的脱机容器,可以形象地描述为内存中的数据库。上述代码中我将需要的数据填充到数据集中,然后将数据从数据库中需要使用到适配器,也就是Dataadapter

Dataadapter就像是一座桥梁用于在数据源和数据集之间交换数据


 

而数据适配器可以读取、添加、删除、更新数据源中的记录  它的四个属性如下:

1.SelectCommand:指定对象以便从数据存储区检索行

2.InsertCommand:指定某命令对象以便想数据存储区插入行

3.UpdateCommand:指定某命令对象以便修改数据存储区中的行

DeleteCommand:指定某命令对象以便从数据存储区中删除行 

 

 

暂时先总结这些,学无止境,革命尚未成功,战士仍需努力!

 

原创粉丝点击