大舌头之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作业过程中的心得和经验,可能有很对的地方,望各路大神多多指教。希望大家能本人讨论也可以呦。