上次我们说到了ADO.NET中几个常见的对象,还有对象的属性以及方法,现在我们就来通过数据库操作的增加,删除,修改和查询四个方面简单的来说一下ADO.NET是如何操作数据库的。
一、增加数据(添加数据,关键词INSERT INTO)
先看一段代码:
'添加用户信息的方法,它的返回值是布尔型,
Function AddUser(ByVal User As DBUser) As Boolean
'首先判断用户名是否已经存在
Dim SQLString As String
SQLString = "SELECT * FROM 用户信息表 WHERE 用户名='" & User.username & "'"
Dim oneTable As DataTable = DBOperation.DBOperate(SQLString)
If oneTable.Rows.Count >= 1 Then
MsgBox("输入的用户名已经存在,请重新输入", MsgBoxStyle.Exclamation, "消息框")
Return False
Else
SQLString = "INSERT INTO 用户信息表 VALUES('" & User.username & "','" & User.password & "','" & User.realname & "','" & User.quanxian & "','" & User.quanxian1 & "','" & User.chaoji & "')"
DBOperation.DBOperate(SQLString)
MsgBox("成功添加用户信息", MsgBoxStyle.Exclamation, "消息框")
Return True
End If
End Function
可以看到,我们建立了一个方法,方法名为AddUser,这个方法返回的数据类型为布尔型。
在向数据库中插入记录的时候,对于主键来说,是不能有重复的,所以在插入数据之前,我们需要首先判断用户名是否存在。
首先我们使用Connection对象里面的ConnectionString属性,先定义一个字符串:SQLString,然后我们赋值,SQLString = "SELECT * FROM 用户信息表 WHERE 用户名='" & User.username & "'AND 密码='" & User.password & "'" 这里面我们使用了一个SQL语句,从用户信息表里查询到用户名字段下等于User.username的字段,这里面我们自定义了一个类User。
我们还定义了一个类,就是DBOperation,也就是上次所展示的代码中的一部分,我们将查询出来的字段和内存中的数据表DataTable进行对比,如果相同,则弹出MsgBox(),提示用户输入的用户名已经存在了。否则,则将记录写入数据库,这里面我们还能看到一个SQL语句,INSERT INTO 用户信息表 VALUES,这就代表着按着数据库中用户信息表字段顺序依次插入数据。
二、删除数据(关键词 DELETE)
先看一段代码:
Function shangchubanji(ByVal str As String) As Boolean
Dim SQLString As String
SQLString = "DELETE FROM 班级表 WHERE 班级名称='" & str & "'"
DBOperation.DBOperate(SQLString)
MsgBox("成功删除用户信息", MsgBoxStyle.Exclamation, "消息框")
Return True
End Function
我们可以看出,删除操作非常简单,首先使用Connection对象下的ConnectionString属性,然后使用SQL语句执行SQL操作,这里面我们可以看到SQL语句为:"DELETE FROM 班级表 WHERE 班级名称='" & str & "'",也就是从某个数据表中删除字段名为XXX的所有记录中符合STR的记录。
三、修改数据(关键词 UPDATE)
先来看一段代码:
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
'当我们点击确定的时候,我们首先要删除这个学号在数据库中的数据信息
DBUser.DelStudent(_StudentNo)
'删除信息后在重新添加信息
'首先我们要验证三个信息,分别是学号,姓名,出生年月的验证
If Trim(Me.TextBox1.Text) = "" Then
MsgBox("学号不能为空", MsgBoxStyle.Exclamation, "消息框")
Exit Sub
End If
If Trim(Me.TextBox2.Text) = "" Then
MsgBox("姓名不能为空", MsgBoxStyle.Exclamation, "消息框")
Exit Sub
End If
If Not IsDate(Me.TextBox3.Text) Then
MsgBox("请输入正确的日期格式", MsgBoxStyle.Exclamation, "消息框")
Exit Sub
End If
Dim SQLString As String
SQLString = "INSERT INTO 学生信息表 VALUES('" & Me.TextBox1.Text & "','" & Me.TextBox2.Text & "','" & Me.TextBox3.Text & "','" & Me.ComboBox1.Text & "','" & Me.ComboBox2.Text & "','" & Me.TextBox7.Text & "','" & Me.TextBox4.Text & "','" & Me.TextBox5.Text & "','" & Me.TextBox6.Text & "','" & Me.ComboBox3.Text & "','" & Me.TextBox8.Text & "','" & Me.TextBox9.Text & "')"
Dim classTable1 As DataTable = DBOperation.DBOperate(SQLString)
End Sub
什么是修改?用一句简单的话来说,就是删除原有数据,然后插入,所以,修改数据就是把删除数据和添加数据组合在一起的操作,首先我们删除信息,然后添加信息,在上述代码中,我们在自定义类DBUser中写了一个DelStudent的方法,先调用删除,然后我们验证窗体上几个关键信息是否符合要求,符合要求直接插入信息。
四、(简单)查询(关键词 SELECT)
在这里,我就只说最简单的查询,关于高级查询,大家可以查阅相关资料。
先来看一段代码:
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
'获取文本框的内容,将它做为模糊查询的条件
Dim xinxi1 As String
xinxi1 = Me.TextBox1.Text
'定义一个查询的字符串
Dim SQLString As String
SQLString = "SELECT * FROM 学生信息表 WHERE 姓名 LIKE '%" & Trim(xinxi1) & "%'"
'创建一个数据表,将返回来的结果存储在内存表中
Dim xinxi1Table As DataTable = DBOperation.DBOperate(SQLString)
'将表中的结果存储到DataGridView中
Me.DataGridView1.DataSource = xinxi1Table
End Sub
在这段代码中,我们先定义一个字符串存放查询的关键词,然后定义一个字符串,用来连接数据库,最后将查询出来的数据存储到DataGridView中,(关于DataGridView的说明将在以后的博文中叙述)。
总结一下,操作数据库要做什么步骤?
首先,我们要定义连接字符串,然后将SQL语句赋值给连接字符串,执行SQL操作后,将数据插入,删除,修改,或者查询数据。