VB中SQL数据库怎么连接不上?
PublicFunctionGetConnStr()AsString'得到数据库连接字符串,用户可以在此处设置连接字符串'得到数据库连接字符串,用户可以在此处设置连接字符...
Public Function GetConnStr() As String
'得到数据库连接字符串,用户可以在此处设置连接字符串
'得到数据库连接字符串,用户可以在此处设置连接字符串
ConnectionString = "Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=人力资源管理系统"
GetConnStr = ConnectionString '设置数据库连接字符串
End Function
Public Function OpenConn(ByRef Conn As ADODB.Connection) As Boolean
'打开数据库连接,连接成功返回true,出错时返回false
Set Conn = New ADODB.Connection
'出错处理
On Error GoTo ErrorHandle
Conn.Open GetConnStr
OpenConn = True
Exit Function
ErrorHandle:
MsgBox "连接数据库失败!请重新连接!"
OpenConn = False
Exit Function
End Function
Public Sub ExecuteSQL(ByVal SQL As String, ByRef msg As String)
'执行SQL语句
Dim Conn As ADODB.Connection
Dim sTokens() As String
'出错处理
On Error GoTo ErrorHandle
'判断SQL语句
sTokens = Split(SQL)
If InStr("INSERT,DELETE,UPDATE", UCase((sTokens(0)))) Then
'打开数据库连接
If OpenConn(Conn) Then
Conn.Execute SQL
msg = sTokens(0) & "操作执行成功!"
End If
Else
msg = "SQL语句有误:" & SQL
End If
Finally_Exit:
Set rst = Nothing
Set Conn = Nothing
Exit Sub
ErrorHandle:
msg = "执行错误: " & Err.Description
Resume Finally_Exit
End Sub
Public Function SelectSQL(ByVal SQL _
As String, ByRef msg As String) As ADODB.Recordset
'执行SQL语句,返回ADODB.Recordset
Dim Conn As ADODB.Connection
Dim rst As ADODB.Recordset
Dim sTokens() As String
'出错处理
On Error GoTo ErrorHandle
'判断SQL语句
sTokens = Split(SQL)
If InStr("SELECT", UCase((sTokens(0)))) Then
'打开数据库连接
If OpenConn(Conn) Then
Set rst = New ADODB.Recordset
rst.CursorLocation = adUseClient
rst.Open Trim$(SQL), Conn, adOpenDynamic, adLockOptimistic
Set SelectSQL = rst
msg = "查询到" & rst.RecordCount & " 条记录! "
End If
Else
msg = "SQL语句有误:" & SQL
End If
Finally_Exit:
Set rst = Nothing
Set Conn = Nothing
Exit Function
ErrorHandle:
MsgString = "查询错误: " & _
Err.Description
Resume Finally_Exit
End Function
服务主机:PC-201103110958
数据库名:Conn 展开
'得到数据库连接字符串,用户可以在此处设置连接字符串
'得到数据库连接字符串,用户可以在此处设置连接字符串
ConnectionString = "Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=人力资源管理系统"
GetConnStr = ConnectionString '设置数据库连接字符串
End Function
Public Function OpenConn(ByRef Conn As ADODB.Connection) As Boolean
'打开数据库连接,连接成功返回true,出错时返回false
Set Conn = New ADODB.Connection
'出错处理
On Error GoTo ErrorHandle
Conn.Open GetConnStr
OpenConn = True
Exit Function
ErrorHandle:
MsgBox "连接数据库失败!请重新连接!"
OpenConn = False
Exit Function
End Function
Public Sub ExecuteSQL(ByVal SQL As String, ByRef msg As String)
'执行SQL语句
Dim Conn As ADODB.Connection
Dim sTokens() As String
'出错处理
On Error GoTo ErrorHandle
'判断SQL语句
sTokens = Split(SQL)
If InStr("INSERT,DELETE,UPDATE", UCase((sTokens(0)))) Then
'打开数据库连接
If OpenConn(Conn) Then
Conn.Execute SQL
msg = sTokens(0) & "操作执行成功!"
End If
Else
msg = "SQL语句有误:" & SQL
End If
Finally_Exit:
Set rst = Nothing
Set Conn = Nothing
Exit Sub
ErrorHandle:
msg = "执行错误: " & Err.Description
Resume Finally_Exit
End Sub
Public Function SelectSQL(ByVal SQL _
As String, ByRef msg As String) As ADODB.Recordset
'执行SQL语句,返回ADODB.Recordset
Dim Conn As ADODB.Connection
Dim rst As ADODB.Recordset
Dim sTokens() As String
'出错处理
On Error GoTo ErrorHandle
'判断SQL语句
sTokens = Split(SQL)
If InStr("SELECT", UCase((sTokens(0)))) Then
'打开数据库连接
If OpenConn(Conn) Then
Set rst = New ADODB.Recordset
rst.CursorLocation = adUseClient
rst.Open Trim$(SQL), Conn, adOpenDynamic, adLockOptimistic
Set SelectSQL = rst
msg = "查询到" & rst.RecordCount & " 条记录! "
End If
Else
msg = "SQL语句有误:" & SQL
End If
Finally_Exit:
Set rst = Nothing
Set Conn = Nothing
Exit Function
ErrorHandle:
MsgString = "查询错误: " & _
Err.Description
Resume Finally_Exit
End Function
服务主机:PC-201103110958
数据库名:Conn 展开
3个回答
展开全部
1.在使用ADO之前,必须先利用VB菜单中的“工程/引用”来引用“Microsoft ActiveX Data Objects 2.0 Librabry”,
然后ADO对象群中的Connection、Recordset、Command、Fields等对象才会成为程序可以引用的对象。
2.在窗体上布置一个ADODC控件,然后单击鼠标右键,待出现快捷菜单时,从中选取“ADODC属性”命令。
3.这个时候会打开“属性页”对话框,在对话框中选取“使用连接字符串”选项,并单击“生成”按钮。
4.之后出现的是“数据连接属性”(Data Link Properties)设置窗口,按照下面步骤执行:
〈1〉OLE DB提供者:想要连接的SQL Server,要选择Microsoft OLE DB Provider for SQL Server。
〈2〉输入Server名称:输入您安装SQL Server计算机的名称。
〈3〉输入UserName用户名称和Password用户密码:可以存取SQL Server的用户名称和密码。
〈4〉选取数据库:如果前面几个选项均输入正确的话,那么单击这个选项的下拉按钮,就可以列出SQL Server的所有数据库名称,再从中选取其中你的数据库名称。如果单击这个下拉按钮之后没有看到任何数据库名称,那么即表示您前面几个步骤中输入的内容有错误。
最后点击确认。
5.在成功连接到SQL Server中您的“进销存管理”数据库后,就可以开始下一步连接数据表的操作了,具体步骤如下:
〈1〉假设您要打开的表是 “MSFlexGrid”, 则将ADODC控件的属性中的CommandType设置成“AdCmdTable”。
〈2〉将ADODC控件中的RecordSource属性设置成您的表名,例如
“MSFlexGrid”。
6.完成这些步骤后就可以连接到您想使用的数据表了,代码步骤如下
在引用中添加Microsoft ActiveX Data Objects 2.X Library
代码如下:
Dim CN As New ADODB.Connection
Dim RS As New ADODB.Recordset
Dim strServerName, strUID, strPWD, strDataBase
Dim strConnect As String
'定义连接字符串
strServerName = 服务器名,或者服务器IP
strUID = 用户名
strPWD = 密码
strDataBase = 数据库名
strConnect = "Driver=;Server=" & strServerName & ";UID=" & strUID & ";PWD=" & strPWD & ";DataBase=" & strDataBase
'连接到数据库
CN.Open strConnect
Set RS = CN.Execute("SELECT * FROM ....")
该回答在6月12日 01:20由回答者修改过
然后ADO对象群中的Connection、Recordset、Command、Fields等对象才会成为程序可以引用的对象。
2.在窗体上布置一个ADODC控件,然后单击鼠标右键,待出现快捷菜单时,从中选取“ADODC属性”命令。
3.这个时候会打开“属性页”对话框,在对话框中选取“使用连接字符串”选项,并单击“生成”按钮。
4.之后出现的是“数据连接属性”(Data Link Properties)设置窗口,按照下面步骤执行:
〈1〉OLE DB提供者:想要连接的SQL Server,要选择Microsoft OLE DB Provider for SQL Server。
〈2〉输入Server名称:输入您安装SQL Server计算机的名称。
〈3〉输入UserName用户名称和Password用户密码:可以存取SQL Server的用户名称和密码。
〈4〉选取数据库:如果前面几个选项均输入正确的话,那么单击这个选项的下拉按钮,就可以列出SQL Server的所有数据库名称,再从中选取其中你的数据库名称。如果单击这个下拉按钮之后没有看到任何数据库名称,那么即表示您前面几个步骤中输入的内容有错误。
最后点击确认。
5.在成功连接到SQL Server中您的“进销存管理”数据库后,就可以开始下一步连接数据表的操作了,具体步骤如下:
〈1〉假设您要打开的表是 “MSFlexGrid”, 则将ADODC控件的属性中的CommandType设置成“AdCmdTable”。
〈2〉将ADODC控件中的RecordSource属性设置成您的表名,例如
“MSFlexGrid”。
6.完成这些步骤后就可以连接到您想使用的数据表了,代码步骤如下
在引用中添加Microsoft ActiveX Data Objects 2.X Library
代码如下:
Dim CN As New ADODB.Connection
Dim RS As New ADODB.Recordset
Dim strServerName, strUID, strPWD, strDataBase
Dim strConnect As String
'定义连接字符串
strServerName = 服务器名,或者服务器IP
strUID = 用户名
strPWD = 密码
strDataBase = 数据库名
strConnect = "Driver=;Server=" & strServerName & ";UID=" & strUID & ";PWD=" & strPWD & ";DataBase=" & strDataBase
'连接到数据库
CN.Open strConnect
Set RS = CN.Execute("SELECT * FROM ....")
该回答在6月12日 01:20由回答者修改过
推荐于2018-04-07
展开全部
改成:
ConnectionString = "Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;User ID=sa;Password=;Initial Catalog=Conn;Data Source=PC-201103110958"
ConnectionString = "Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;User ID=sa;Password=;Initial Catalog=Conn;Data Source=PC-201103110958"
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你得数据库名是不是错了?
Initial Catalog=人力资源管理系统
从没用过中文的数据库名字
Initial Catalog=人力资源管理系统
从没用过中文的数据库名字
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询