(图例、源码、说明)
(本文代码VB.NET2008 + SQL Server 2005下测试通过。)
VB6.0向VB.NET过渡后,很多编程爱好者对VB.NET数据库编程感到迷惑,本文通过对国内教材、国外教材、老教材、新教材的研究,将作者看到过的6种(insert语句、参数化3种、行提交、存储过程、)添加(增加)记录的方法提炼出来,并分析了各种添加记录的优点、缺点及是否常用等做了简单叙述。读者可以根据这些方法编写出对应的增删改查(CRUD)代码,使自己的程序编写的更加容易理解,提高编程效率,提升程序的运行速度。 百度文库首发,侵权必究。
一、前期准备工作(图例)
1、引用数据库命名空间
使用数据库对象时要首先导入数据库命名空间,数据库对象的命名空间根据你所使用的数据
库不同,命名空间也不一样。本文使用的是SQL Server的命名空间。
Imports System.Data.SqlClient
2、界面设计
1个Datagridview控件,5个TextBox控件,1个DateTimePicker控件,5个按钮控件。具体控件示例如下:
3、在Datagridview表格中预览数据库记录
简单的查询了这个表的所有记录。
Private Sub dataView()
Dim objConn As New SqlClient.SqlConnection
Dim objDa As New SqlClient.SqlDataAdapter
Dim objComm As New SqlClient.SqlCommand
Dim objDs As New DataSet
objConn.ConnectionString = "Data Source=172.30.76.249;Initial Catalog=ldg;User ID=wink;Pwd=wcp6810662"
objComm.CommandText = "select * from wink"
objComm.Connection = objConn
决战东北
objDa.SelectCommand = objComm
objConn.Open()
objDa.Fill(objDs, "wink")
objConn.Close()
DataGridView1.DataSource = objDs.Tables("wink")
End Sub
4、窗体加载时调用dataView()过程预览数据库记录
窗体的 Form2_Load方法在本文的程序代码段中多次被调用以刷新表格,读者可以直接调用dataView()过程刷新表格。
Private Sub Form2_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Call dataView()
End Sub
二、添加记录的六种方法及简要分析(源码及说明)
请注意代码段使用时注意控件名称,否则复制粘贴后容易出现错误。
1、使用INSERT语句添加记录方法:
直接使用SQL的INSERT语句在数据库中添加记录,这种方法大家会经常见到,此种方法较为初级,数据库字段较多时不便于维护,但较为直观,很多初学者使用此方法。
按钮2代码如下:
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
Dim objConn As 江苏文惠网New SqlClient.SqlConnection
Dim objComm As New SqlClient.SqlCommand
objConn.ConnectionString = "Data Source=172.30.76.249;Initial Catalog=ldg;User ID=wink;Pwd=wcp6810662"
objComm.Connection = objConn
Dim sql As String
sql = "insert into wink (id,name,sex,age,address,birth) values('" & TextBox1.Text.ToString().Trim() & "','" & TextBox2.Text.ToString().Trim() & " ','" & TextBox3.Text.ToString().Trim() & " ','" & TextBox4.Text.ToString().Trim() & " ','" & TextBox5.Text.ToString().Trim() & " ','" & DateTimePicker1.Value & "') "
objComm.CommandText = sql
objConn.Open()
Try
objComm.ExecuteNonQuery()
Catch sqlExceptionErr As SqlClient.SqlException
MessageBox.Show(sqlExceptionErr.Message)
Finally
竖井滑模生产厂家 objConn.Close()
End Try
Call Form2_Load(sender, e)
MsgBox("添加成功!", MsgBoxStyle.Information, "提示")
End Sub
2、参数化方式增加数据库记录方法(VB.NET2008之前):
这种添加记录的方法VB.NET2008之前较为常用,2008版本之后SqlClient.SqlCommand.Add方法被覆写为SqlClient.SqlCommand.AddWithValue方法。该巢湖学院学报
方法的好处是可以在数据记录进入数据库之前控制各个字段的类型,缺点是编程时写代码较为麻烦。
按钮我的地理老师3代码如下:
Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
今目标企业工作平台Dim objConn As New SqlClient.SqlConnection
Dim objComm As New SqlClient.SqlCommand
Dim insert As String
insert = "insert into wink (id,name,sex,age,address,birth)"
insert = insert & "values (@id,@name,@sex,@age,@address,@birth)"
objConn.ConnectionString = "Data Source=172.30.76.249;Initial Catalog=ldg;User ID=wink;Pwd=wcp6810662"
objComm.Connection = objConn
objComm.CommandText = insert
objComm.Parameters.Add("@id", SqlDbType.Int).Value = Trim(TextBox1.Text)
objComm.Parameters.Add("@name", SqlDbType.VarChar).Value = Trim(TextBox2.Text)
objComm.Parameters.Add("@sex", SqlDbType.VarChar).Value = Trim(TextBox3.Text)
objComm.Parameters.Add("@age", SqlDbType.Int).Value = Trim(TextBox4.Text)
objComm.Parameters.Add("@address", SqlDbType.VarChar).Value = Trim(TextBox5.Text)
objComm.Parameters.Add("@birth", SqlDbType.DateTime).Value = DateValue(Me.DateTimePicker1.Text)
objConn.Open()
Try
objComm.ExecuteNonQuery()
Catch sqlExceptionErr As SqlClient.SqlException
MessageBox.Show(sqlExceptionErr.Message)
Finally
objConn.Close()
End Try
Call Form2_Load(sender, e)