大家我是你们的老朋友,今天跟大家唠唠嗑,说说我最近折腾的VB连接数据库那点事儿。
话说这年头,啥都离不开数据库,我这小项目也得安排上。之前一直用C#比较多,这回想着换换口味,用VB来试试水,结果嘛一上来就给我来个下马威。
第一步,当然是先新建个VB项目。 这个简单,打开Visual Studio,新建一个Windows窗体应用,语言选VB,一路下一步就OK。
就是最关键的:连接数据库! 我这回用的是SQL Server,寻思着用*应该没啥问题,结果就掉坑里。
得引用相关的库。 在“解决方案资源管理器”里,找到“引用”,右键,点“添加引用”,然后在“.NET”选项卡里找到“*”和“*”,勾上,确定。
然后,写连接代码。 我一开始是这么写的:
- *
Imports *
Public Class Form1
Dim connString As String = "Data Source=你的服务器地址;Initial Catalog=你的数据库名;Integrated Security=True"
Dim conn As SqlConnection
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles *
Try
conn = New SqlConnection(connString)
*("数据库连接成功!")
Catch ex As Exception
*("数据库连接失败:" & *)
End Try
End Sub
End Class
结果,一运行,直接报错! 说啥“未将对象引用设置到对象的实例”。 我靠,啥玩意儿? 仔细一看,原来是`SqlConnection`没实例化。 赶紧改成这样:
- *
conn = New SqlConnection(connString)
这下总算不报错,但是又报另一个错,说啥“无法打开与 SQL Server 的连接”。 晕死,难道是连接字符串有问题? 赶紧检查连接字符串,服务器地址、数据库名啥的都对。
后来我Google半天,才发现原来是权限问题。 我用的`Integrated Security=True`,也就是Windows身份验证,但是我的程序运行的时候,用的不是我的Windows账户的权限,而是其他的。
解决办法是:要么修改SQL Server的身份验证模式,改成SQL Server身份验证,然后用用户名密码连接;要么给我的Windows账户在SQL Server里添加相应的权限。
我选择第二种方法,在SQL Server Management Studio里,找到“安全性”-“登录名”,右键,新建登录名,然后输入我的Windows用户名,再在“用户映射”里,勾上我要连接的数据库,并且赋予`db_datareader`和`db_datawriter`权限。
改完权限,再运行程序, 这回总算成功! 弹出“数据库连接成功!”的提示框。 真是折腾死我。
连接成功,接下来就是查询数据。 我写个简单的查询代码:
- *
Dim sql As String = "SELECT FROM 你的表名"
Dim cmd As New SqlCommand(sql, conn)
Dim reader As SqlDataReader
Try
reader = *()
While *()
*(reader("你的字段名").ToString())
End While
Catch ex As Exception
*("查询失败:" & *)
End Try
这段代码很简单,就是创建一个`SqlCommand`对象,然后执行`ExecuteReader`方法,获取`SqlDataReader`对象,遍历`SqlDataReader`对象,读取每一行的数据。
查询结果也顺利出来! 终于搞定VB连接数据库的整个流程。 虽然过程有点曲折,但是也学到不少东西。 以后再遇到类似的问题,就心里有数。
VB连接SQL Server数据库,关键是要搞清楚连接字符串的配置和权限问题。 特别是使用Windows身份验证的时候,一定要确保程序运行的用户有访问数据库的权限。 还有,*的各种对象,比如`SqlConnection`、`SqlCommand`、`SqlDataReader`,一定要实例化之后才能使用,否则会报错。
跟大家分享一个小技巧:
如果觉得手写连接字符串太麻烦,可以用Visual Studio自带的“数据源”窗口来自动生成。 步骤是:
- 打开“视图”-“其他窗口”-“数据源”
- 点击“添加新数据源”
- 选择“数据库”
- 选择“Microsoft SQL Server”
- 输入服务器名和登录信息
- 选择数据库
- 点击“测试连接”
- 如果连接成功,点击“确定”
这样,Visual Studio就会自动生成一个连接字符串,并且添加到你的项目配置文件里。 你只需要在代码里读取这个连接字符串就可以,非常方便。
好,今天的分享就到这里。 希望能帮到大家,也欢迎大家在评论区交流讨论。 咱们下次再见!