VB代码链接数据库问题
如下代码ExeCutesql "insert into user values('" & Text1.Text & "','" & Text3.Text & "','" & Text2.Text & "',
执行过程中无错误提示,执行后数据库无任何数据写入
补充:Private Sub Command1_Click()
Dim A
A = MsgBox("是否添加前记录?", vbYesNo + 32, "修改记录")
If A = vbYes Then
ExeCutesql "insert into qunti values('" & Text1.Text & "','" & Text3.Text & "','" & Text2.Text & "'," & B & ") ", Str_text
MsgBox "数据已经保存!", vbOKOnly + 64, "成功"
End If
End Sub
链接模块是
Public Function Connectstring() As String
'Dim Str_path As String
Str_path = CurDir() & "\" & "MISER.MDB"
Connectstring = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source='" & Str_path & "';Persist Security Info=False"
End Function
追问:user换为其他字符也没用啊不好意思,贴不下,我补充到这里
Public Function ExeCutesql(ByVal Sql As String, Msgstring As String) As ADODB.Recordset
Dim Cnn As ADODB.Connection
Dim Rst As ADODB.Recordset
Dim Stokens() As String
On Error GoTo executesql_error
Stokens = Split(Sql)
Set Cnn = New ADODB.Connection
Cnn.Open Connectstringexecutesql_exit:
Set Rst = Nothing '释放记录集
Set Cnn = Nothing '释放连接语句
Exit Function
executesql_error:
Msgstring = "查询错误:" & Err.Description
Resume executesql_exit
End Function
恩谢谢
数据库很简单只有一个表
这个是我参考网上的源码写的
Stokens = Split(Sql) 是将sql语句按关键字保存在数组中谢谢啊,期待明天你回答~If InStr("INSERT,DELETE,UPDATE", UCase$(Stokens(0))) Then
Cnn.Execute Sql
Msgstring = Stokens(0) & "查询成功"
Else
Set Rst = New ADODB.Recordset
Rst.Open Trim$(Sql), Cnn, adOpenKeyset, adLockOptimistic
Set ExeCutesql = Rst
Msgstring = "查询到" & Rst.RecordCount & "条记录"
End If
还有一小段没地方写不下啊
答案:貌似user和SQL的关键字冲突,最好用[user]
其他:Dim A,sql
A = MsgBox("是否添加前记录?", vbYesNo + 32, "修改记录")
If A = vbYes Then
sql= "insert into qunti values('" & Text1.Text & "','" & Text3.Text & "','" & Text2.Text & "'," & B & ") "
MsgBox "数据已经保存!", vbOKOnly + 64, "成功"
End If
把sql的值取出来,贴出来看看,然后把数据库结构也贴出来看看 代码太多而且不全就不看了,告诉你调试的方法:
把所有 On Error GoTo 的语句注释掉,运行,应该会跳出错误提示。再把错误贴出来找人解决。
看你的ExeCutesql过程有错误处理,但没提示错误,你当然认为执行没错误了。
上一个:vb中的函数是找什么来使用函数的 他们具体是怎么个形式来做的
下一个:vb的msdn不能使用