你好,小弟初学VB。现在开始学对数据库的连接。
我从网络上下载了一个完整的图书管理系统。
安装了SQL2000后在c:\lib\创建数据库 下生成了
kim_data.mdf和kim_log.ldf两个文件
然后运行图书管理系统时出现一个登陆窗口
点击登陆时便会出现连接数据库失败!请重新连接
点击调试后出现发现Private Sub CmdOK_Click()
Dim rst As ADODB.Recordset
Dim password As String
'判断密码是否正确
Sys_UserID = Trim(txtUserId.Text)
SQL = " select userID,password from 用户信息表 where userID='" & Sys_UserID & "'"
Set rst = SelectSQL(SQL, msg)
If rst.RecordCount > 0 Then '如果存在该用户
password = Trim(rst.Fields(1))
rst.Close
Else
If InsertUserInfo Then '如果输入的是读者号,且用户是第一次登陆
MsgBox ("欢迎读者使用,请你修改密码!")
Else
MsgBox ("用户ID或密码错误!")
End If
Exit Sub
End If
If password = Trim(txtPassword.Text) Then
Sys_LoginSucceeded = True
LibInfoSerSys.Show
Unload Me
Else
MsgBox ("密码错误!")
Sys_LoginSucceeded = False
End If
End Sub
而If rst.RecordCount > 0 Then '如果存在该用户
便是出现问题的语句
但我想这应该是因为无法连接上数据库的原因吧请高手给个详细解答
不甚感激
我从网络上下载了一个完整的图书管理系统。
安装了SQL2000后在c:\lib\创建数据库 下生成了
kim_data.mdf和kim_log.ldf两个文件
然后运行图书管理系统时出现一个登陆窗口
点击登陆时便会出现连接数据库失败!请重新连接
点击调试后出现发现Private Sub CmdOK_Click()
Dim rst As ADODB.Recordset
Dim password As String
'判断密码是否正确
Sys_UserID = Trim(txtUserId.Text)
SQL = " select userID,password from 用户信息表 where userID='" & Sys_UserID & "'"
Set rst = SelectSQL(SQL, msg)
If rst.RecordCount > 0 Then '如果存在该用户
password = Trim(rst.Fields(1))
rst.Close
Else
If InsertUserInfo Then '如果输入的是读者号,且用户是第一次登陆
MsgBox ("欢迎读者使用,请你修改密码!")
Else
MsgBox ("用户ID或密码错误!")
End If
Exit Sub
End If
If password = Trim(txtPassword.Text) Then
Sys_LoginSucceeded = True
LibInfoSerSys.Show
Unload Me
Else
MsgBox ("密码错误!")
Sys_LoginSucceeded = False
End If
End Sub
而If rst.RecordCount > 0 Then '如果存在该用户
便是出现问题的语句
但我想这应该是因为无法连接上数据库的原因吧请高手给个详细解答
不甚感激
解决方案 »
- 请高手们指点一下...
- 如何实现在txt文件中查找定位字符串?
- ███请问,如何判断"\\192.168.0.123\temp"这个目录是否存在?███
- asp中有没有如C中的转义符?在线等待!!!!!!!!!!!
- 100分求解,odbc的多用户访问
- 感激 yefanqiu(叶帆),两个问题其一已经兑现!还烦再看看第二个问题啊。分不够的话,这里还有。
- 高手指教!!!
- 安装后执行报错“未找到提供程序。该程序可能未正确安装。”,Why?
- MSChart里面如何在程序里面定义柱状图每个柱子的颜色
- VB7快要出来了,你会去学吗??
- 还有 Visual Basic网络高级编程 这本书下载吗?
- 运行时错误 “在处理事件的过程中,操作不能被执行”
dim conn as new adodb.connection
With conn
If .State = adStateOpen Then .Close
.ConnectionString = "driver=SQL Server;server=计算机名或IP地址;uid=sa;pwd=;database=数据库名称"
.CommandTimeout = 300
.Open
end with
With conn
If .State = adStateOpen Then .Close
.ConnectionString = "driver=SQL Server;server=计算机名或IP地址;uid=sa;pwd=;database=数据库名称"
.CommandTimeout = 300
.Open
end with如果是本机的话,建议ip地址不要写,你试试看。
.ConnectionString = "driver=SQL Server;server=;uid=sa;pwd=;database=数据库名称"
请问有什么错误吗?是否我还要自己添加连接代码(如楼上两位大侠所示代码)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