VB运行后rs.Open strSQL, conn, 3, 3报错 求解答
'"修改记录"按钮(command2)的click事件代码:PrivateSubCommand2_Click()IfNotIsNumeric(Text4.Text)OrV...
'"修改记录"按钮(command2)的click事件代码:
Private Sub Command2_Click()
If Not IsNumeric(Text4.Text) Or Val(Text4.Text) = 0 Then
'编号字段是Access的自动编号,为自然数
'因此对text4的内容进行校验,如果不是数值或为0则跳出sub过程
MsgBox "记录号是大于0的自然数,请输入正确的编号!"
Exit Sub
End If
If Text1.Text = "" Or Text2.Text = "" Or Text3.Text = "" Then
'对三个文本框的内容进行校验,不接收空值
MsgBox "请输入完整的网站信息!"
Exit Sub
End If
Dim sc As Integer
sc = MsgBox("确实修改这条记录吗?", vbOKCancel, "提示信息")
If sc = 1 Then
'运行时如果用户点击的是MsgBox提示框的"确定"按钮,返回值是1
Dim conn As New ADODB.Connection
Dim rs As New ADODB.Recordset
Dim Str1 As String
Dim Str2 As String
Dim Str3 As String
Str1 = "Provider=Microsoft.Jet.OLEDB.4.0;"
Str2 = "Data Source=wzdz.mdb;"
Str3 = "Jet OLEDB:Database Password="
conn.Open Str1 & Str2 & Str3
strSQL = "select * from wzdz where 编号=" & Val(Text4.Text) & ""
rs.Open strSQL, conn, 3, 3
If rs!编号 = Val(Text4.Text) Then
'由于系统数据库使用的是自动编号作为主键
'因此以编号字段的内容作为判断的依据
'如果rs!编号 = Val(Text4.Text)说明数据库中有此记录,
'才会修改其它三个字段的内容
'否则给出"不存在此记录"的提示信息并关闭数据连接
rs!网站名称 = Text1.Text
rs!网站地址 = Text2.Text
rs!网站描述 = Text3.Text
rs.Update
rs.Close
conn.Close
MsgBox ("修改记录成功!")
Adodc1.Refresh '刷新数据源,MSHFlexGrid控件会实时刷新显示数据
Else
MsgBox ("不存在此记录!")
Text1.Text = ""
Text2.Text = ""
Text3.Text = ""
Text4.Text = ""
rs.Close
conn.Close
Exit Sub
End If
End If
'以下四条语句的作用是在操作完成后将文本框置空
Text1.Text = ""
Text2.Text = ""
Text3.Text = ""
Text4.Text = ""
End Sub
据
'如果rs!编号 = Val(Text4.Text)说明数据库中有此记录并进行删除操作
'否则给"不存在此记录"的提示信息并关闭数据连接
rs.Delete
rs.Close
conn.Close
MsgBox ("删除记录成功!")
Adodc1.Refresh '刷新数据源,MSHFlexGrid控件会实时刷新显示数据
Else
MsgBox ("不存在此记录!")
Text4.Text = ""
rs.Close
conn.Close
Exit Sub
End If
End If
'以下四条语句的作用是在操作完成后将文本框置空
Text1.Text = ""
Text2.Text = ""
Text3.Text = ""
Text4.Text = ""
End Sub
VB运行后rs.Open strSQL, conn, 3, 3报错
我将
If rs!编号 = Val(Text4.Text) Then
改成了
if rs.RecordCount>0 then
还是出现错误在
rs.Open strSQL, conn, 3, 3 展开
Private Sub Command2_Click()
If Not IsNumeric(Text4.Text) Or Val(Text4.Text) = 0 Then
'编号字段是Access的自动编号,为自然数
'因此对text4的内容进行校验,如果不是数值或为0则跳出sub过程
MsgBox "记录号是大于0的自然数,请输入正确的编号!"
Exit Sub
End If
If Text1.Text = "" Or Text2.Text = "" Or Text3.Text = "" Then
'对三个文本框的内容进行校验,不接收空值
MsgBox "请输入完整的网站信息!"
Exit Sub
End If
Dim sc As Integer
sc = MsgBox("确实修改这条记录吗?", vbOKCancel, "提示信息")
If sc = 1 Then
'运行时如果用户点击的是MsgBox提示框的"确定"按钮,返回值是1
Dim conn As New ADODB.Connection
Dim rs As New ADODB.Recordset
Dim Str1 As String
Dim Str2 As String
Dim Str3 As String
Str1 = "Provider=Microsoft.Jet.OLEDB.4.0;"
Str2 = "Data Source=wzdz.mdb;"
Str3 = "Jet OLEDB:Database Password="
conn.Open Str1 & Str2 & Str3
strSQL = "select * from wzdz where 编号=" & Val(Text4.Text) & ""
rs.Open strSQL, conn, 3, 3
If rs!编号 = Val(Text4.Text) Then
'由于系统数据库使用的是自动编号作为主键
'因此以编号字段的内容作为判断的依据
'如果rs!编号 = Val(Text4.Text)说明数据库中有此记录,
'才会修改其它三个字段的内容
'否则给出"不存在此记录"的提示信息并关闭数据连接
rs!网站名称 = Text1.Text
rs!网站地址 = Text2.Text
rs!网站描述 = Text3.Text
rs.Update
rs.Close
conn.Close
MsgBox ("修改记录成功!")
Adodc1.Refresh '刷新数据源,MSHFlexGrid控件会实时刷新显示数据
Else
MsgBox ("不存在此记录!")
Text1.Text = ""
Text2.Text = ""
Text3.Text = ""
Text4.Text = ""
rs.Close
conn.Close
Exit Sub
End If
End If
'以下四条语句的作用是在操作完成后将文本框置空
Text1.Text = ""
Text2.Text = ""
Text3.Text = ""
Text4.Text = ""
End Sub
据
'如果rs!编号 = Val(Text4.Text)说明数据库中有此记录并进行删除操作
'否则给"不存在此记录"的提示信息并关闭数据连接
rs.Delete
rs.Close
conn.Close
MsgBox ("删除记录成功!")
Adodc1.Refresh '刷新数据源,MSHFlexGrid控件会实时刷新显示数据
Else
MsgBox ("不存在此记录!")
Text4.Text = ""
rs.Close
conn.Close
Exit Sub
End If
End If
'以下四条语句的作用是在操作完成后将文本框置空
Text1.Text = ""
Text2.Text = ""
Text3.Text = ""
Text4.Text = ""
End Sub
VB运行后rs.Open strSQL, conn, 3, 3报错
我将
If rs!编号 = Val(Text4.Text) Then
改成了
if rs.RecordCount>0 then
还是出现错误在
rs.Open strSQL, conn, 3, 3 展开
展开全部
是不是因为Str3中密码没有填写,如果本就没有密码,就看看 把 strSQL = "select * from wzdz where 编号=" & Val(Text4.Text) & ""
改成 strSQL = "select * from wzdz where 编号='" & Val(Text4.Text) & "'"在编号后面加个单引号。
改成 strSQL = "select * from wzdz where 编号='" & Val(Text4.Text) & "'"在编号后面加个单引号。
追问
应该不是没有密码的问题
我可以添加 但是修改和删除就不行
还是一样报错
rs.Open strSQL, conn, 3, 3
启帆信息
2024-11-19 广告
2024-11-19 广告
启帆信息是英伟达中国区代理商,原厂授权代理,提供全面的软件技术解决方案以及NVIDIA以太网产品、交换机等产品,欢迎前来咨询!...
点击进入详情页
本回答由启帆信息提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询