我用VB写个数据添加程序~~把数据添加到ACCESS中~~现在问题是一切都正常,也没出错~就是添加的数据不能保存到ACCESS中~ VB上显示数据添加成功~但是ACCESS中并没有数据~这是怎么回事!大家帮我看看~~
我建了2个模块一个 modmain(管理启动事务) 一个moddbaccess(管理SQL连接操作事务)
我的SQL执行函数
Public Function ExecuteSQL(ByVal strSQL As String) As Boolean
'执行SQL
On Error Resume Next
g_dbcon.Execute (strSQL)
If Err.Number > 0 Then
MsgBox "错误代码:" & Err.Number & vbCrLf & _
"错误描述:" & Err.Description, vbCritical + vbOKOnly, "连接错误"
Err.Clear
ExecuteSQL = False
Else
ExecuteSQL = True
End If
End Function
我的cmdok添加代码
Private Sub cmdadd_Click()
Dim strInsertSQL As String
If (Trim(txt1.Text) = Empty) Or (Trim(txt2.Text) = Empty) Or (Trim(txt3.Text) = Empty) Or (Trim(txt4.Text) = Empty) Or (Trim(txt5.Text) = Empty) Or (Trim(txt6.Text) = Empty) Or (Trim(txt7.Text) = Empty) Or (Trim(txt8.Text) = Empty) Or (Trim(txt9.Text) = Empty) Or (Trim(txt10.Text) = Empty) Or (Trim(txt11.Text) = Empty) Or (Trim(txt12.Text) = Empty) Then
MsgBox "请输入所有的数据信息...", vbInformation + vbOKOnly, "数据不完整"
Else
strInsertSQL = "INSERT INTO jwlist VALUES ( "
strInsertSQL = strInsertSQL & " ' " & Trim(txt1.Text) & " ' , "
strInsertSQL = strInsertSQL & " ' " & Trim(txt2.Text) & " ' , "
strInsertSQL = strInsertSQL & " ' " & Trim(txt3.Text) & " ' , "
strInsertSQL = strInsertSQL & " ' " & Trim(txt4.Text) & " ' , "
strInsertSQL = strInsertSQL & " ' " & Trim(txt5.Text) & " ' , "
strInsertSQL = strInsertSQL & " ' " & Trim(txt6.Text) & " ' , "
strInsertSQL = strInsertSQL & " ' " & Trim(txt7.Text) & " ' , "
strInsertSQL = strInsertSQL & " ' " & Trim(txt8.Text) & " ' , "
strInsertSQL = strInsertSQL & " ' " & Trim(txt9.Text) & " ' , "
strInsertSQL = strInsertSQL & " ' " & Trim(txt10.Text) & " ' , "
strInsertSQL = strInsertSQL & " ' " & Trim(txt11.Text) & " ' , "
strInsertSQL = strInsertSQL & " ' " & Trim(txt12.Text) & " ' ) "
If ExecuteSQL(strInsertSQL) = True Then
MsgBox "案件信息已经保存...", vbInformation + vbOKOnly, "保存成功"
End If
End IfEnd Sub
大家帮我看看~~怎么会事!
我建了2个模块一个 modmain(管理启动事务) 一个moddbaccess(管理SQL连接操作事务)
我的SQL执行函数
Public Function ExecuteSQL(ByVal strSQL As String) As Boolean
'执行SQL
On Error Resume Next
g_dbcon.Execute (strSQL)
If Err.Number > 0 Then
MsgBox "错误代码:" & Err.Number & vbCrLf & _
"错误描述:" & Err.Description, vbCritical + vbOKOnly, "连接错误"
Err.Clear
ExecuteSQL = False
Else
ExecuteSQL = True
End If
End Function
我的cmdok添加代码
Private Sub cmdadd_Click()
Dim strInsertSQL As String
If (Trim(txt1.Text) = Empty) Or (Trim(txt2.Text) = Empty) Or (Trim(txt3.Text) = Empty) Or (Trim(txt4.Text) = Empty) Or (Trim(txt5.Text) = Empty) Or (Trim(txt6.Text) = Empty) Or (Trim(txt7.Text) = Empty) Or (Trim(txt8.Text) = Empty) Or (Trim(txt9.Text) = Empty) Or (Trim(txt10.Text) = Empty) Or (Trim(txt11.Text) = Empty) Or (Trim(txt12.Text) = Empty) Then
MsgBox "请输入所有的数据信息...", vbInformation + vbOKOnly, "数据不完整"
Else
strInsertSQL = "INSERT INTO jwlist VALUES ( "
strInsertSQL = strInsertSQL & " ' " & Trim(txt1.Text) & " ' , "
strInsertSQL = strInsertSQL & " ' " & Trim(txt2.Text) & " ' , "
strInsertSQL = strInsertSQL & " ' " & Trim(txt3.Text) & " ' , "
strInsertSQL = strInsertSQL & " ' " & Trim(txt4.Text) & " ' , "
strInsertSQL = strInsertSQL & " ' " & Trim(txt5.Text) & " ' , "
strInsertSQL = strInsertSQL & " ' " & Trim(txt6.Text) & " ' , "
strInsertSQL = strInsertSQL & " ' " & Trim(txt7.Text) & " ' , "
strInsertSQL = strInsertSQL & " ' " & Trim(txt8.Text) & " ' , "
strInsertSQL = strInsertSQL & " ' " & Trim(txt9.Text) & " ' , "
strInsertSQL = strInsertSQL & " ' " & Trim(txt10.Text) & " ' , "
strInsertSQL = strInsertSQL & " ' " & Trim(txt11.Text) & " ' , "
strInsertSQL = strInsertSQL & " ' " & Trim(txt12.Text) & " ' ) "
If ExecuteSQL(strInsertSQL) = True Then
MsgBox "案件信息已经保存...", vbInformation + vbOKOnly, "保存成功"
End If
End IfEnd Sub
大家帮我看看~~怎么会事!
你将“On Error Resume Next”这句改成注释运行一下就明白了。
If ExecuteSQL(strInsertSQL) = True Then
MsgBox "案件信息已经保存...", vbInformation + vbOKOnly, "保存成功"
End If
前加一句ExecuteSQL(strInsertSQL)
On Error goto myError
Dim strInsertSQL As String
If (Trim(txt1.Text) = Empty) Or (Trim(txt2.Text) = Empty) Or (Trim(txt3.Text) = Empty) Or (Trim(txt4.Text) = Empty) Or (Trim(txt5.Text) = Empty) Or (Trim(txt6.Text) = Empty) Or (Trim(txt7.Text) = Empty) Or (Trim(txt8.Text) = Empty) Or (Trim(txt9.Text) = Empty) Or (Trim(txt10.Text) = Empty) Or (Trim(txt11.Text) = Empty) Or (Trim(txt12.Text) = Empty) Then
MsgBox "请输入所有的数据信息...", vbInformation + vbOKOnly, "数据不完整"
Else
strInsertSQL = "INSERT INTO jwlist VALUES ( "
strInsertSQL = strInsertSQL & " ' " & Trim(txt1.Text) & " ' , "
strInsertSQL = strInsertSQL & " ' " & Trim(txt2.Text) & " ' , "
strInsertSQL = strInsertSQL & " ' " & Trim(txt3.Text) & " ' , "
strInsertSQL = strInsertSQL & " ' " & Trim(txt4.Text) & " ' , "
strInsertSQL = strInsertSQL & " ' " & Trim(txt5.Text) & " ' , "
strInsertSQL = strInsertSQL & " ' " & Trim(txt6.Text) & " ' , "
strInsertSQL = strInsertSQL & " ' " & Trim(txt7.Text) & " ' , "
strInsertSQL = strInsertSQL & " ' " & Trim(txt8.Text) & " ' , "
strInsertSQL = strInsertSQL & " ' " & Trim(txt9.Text) & " ' , "
strInsertSQL = strInsertSQL & " ' " & Trim(txt10.Text) & " ' , "
strInsertSQL = strInsertSQL & " ' " & Trim(txt11.Text) & " ' , "
strInsertSQL = strInsertSQL & " ' " & Trim(txt12.Text) & " ' ) " MsgBox "案件信息已经保存...", vbInformation + vbOKOnly, "保存成功" exit sub
myError:
mesgbox err.describe,,"出错提示"
err.clear
exit sub
End Sub
If Err.Number > 0 Thentocall g_dbcon.Execute (strSQL)
If Err.Number <> 0 Then