大舌头之VB-SQL
大家好,这一次的主题是《VB.net,连接SQL数据库》
连接数据库
首先,我们新建一个模板,“myconnnet.vb”,导入这个头文件
1
| Imports System.Data.SqlClient
|
这个是连接sql数据库必不可少的。
然后我们来dim几个用得着的小玩意。
1 2 3 4 5 6 7 8 9 10 11 12
| Public cn As SqlConnection '数据库的链接' Public da As SqlDataAdapter '读数据的数据适配器' Public ds As DataSet '数据集,相当于内存中的一片空间,用来放你读入的数据' Public cmd As New SqlCommand '数据控制,控制你对数据库的操作' Public cnStr As String = "Data Source=BEYOND-PC\BEYONDSQL; Initial Catalog=mailsystem; Integrated Security=True" '“把BEYOND-PC”改成“(local)”,就可以连接你的本机,把“mailsystem”改成你要连接的数据库名'
|
以上操作在模板中进行。
接下来我们来看一个查询操作。
1
| cn = New SqlConnection(cnStr)
|
写在当前窗体load的时事件中,表示你要连接数据库了。
然后我们继续往下看。
操作数据库
方法一:控制命令式
设计一个DateGridView,用来展示数据。(就像一个盘子盛一种菜,而dataset是锅子,所有的菜都在里面)
textbox1里放的是我的主码,用于查询。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
| da = New SqlDataAdapter("select [Mail-Start],[Mail-Sentman],[Se nt-Time] from Mail where [Mail-num]=" & TextBox1.Text, cn) ds = New DataSet() da.Fill(ds, "Mail") DataGridView1.DataSource = ds.Tables("Mail") ``` 里面的很多内若能大家自己因地制宜的改哦。 我们再来看一个例子,比如我们要设计一个登陆界面。 textbox1放用户名序列,textbox2放密码。 npas是一个字符串变量,用来放正确的的密码. ``` cn = New SqlConnection(cnStr) da = New SqlDataAdapter("select [Ad-code] from Administrator where [Ad-num]=" & TextBox1.Text, cn) ds = New DataSet() da.Fill(ds, "Code") npas = ds.Tables("Code").Rows(0).Item("Ad-code") '因为只有一行,所以rows(0),取其中叫”你的列名“的值,比较一下' If npas = TextBox2.Text Then '密码正确,做些什么吧?!' Else MsgBox("Wrong") TextBox2.Clear() End If
|
方法二:存储过程式
当然你要先在数据库里写存储过程呗。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38
| create proc proc_Mail_Query_Ad ( @mail_num integer ) as begin select * from Mail where [Mail-num]=@mail_num end go ---test create proc proc_Mail_Query_Ad_test as begin select * from Mail end go ``` 然后看这段代码,不明觉厉地成功了吧!! ``` Private Sub test_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load cn = New SqlConnection(cnStr) cmd.CommandText = "proc_Mail_Query_Ad" cmd.CommandType = CommandType.StoredProcedure cmd.Connection = cn End Sub Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim p As New SqlParameter p.Value = TextBox1.Text p.ParameterName = "@mail_num" cmd.Parameters.Add(p) Dim da As New SqlDataAdapter da.SelectCommand = cmd Dim ds As New DataSet da.Fill(ds, "Mail") '/多次查询会出错 DataGridView1.DataSource = ds.Tables("Mail") End Sub
|
TIP:本人小白,刚入编程的大世界,这篇只是我的笔记,也是我完成VB.NET作业过程中的心得和经验,可能有很对的地方,望各路大神多多指教。希望大家能本人讨论也可以呦。