现在我手上有一个考勤的管理系统.其中有多表.现在我又在其中添加了一个表,并且我希望可以访问这个表.
于是我就在一个新的添加的窗体中对该表进行了访问.代码如下:
Private Sub Cmdsave_Click()
txtsql = "insert into template(ID,FingerTmplate,Describe)"
txtsql = txtsql + "values('" + Trim(Combo1.Text) + "','"
txtsql = txtsql + Trim(TextRegister.Text) + "','" + Trim(Text1.Text) + "')"
results = ExecuteSQL(txtsql, rstUser, True)
MsgBox "添加成功!", vbOKOnly + vbExclamation, "警告"
End SubExecuteSQL是前面定义的一个SQL语句的执行函数
而我进行多次实验后发现,在我建的新表中根本就不受操作.后来我直接把template去掉,居然不报错,还可以运行.我就不知道为什么了,希望可以得到大家的帮助
于是我就在一个新的添加的窗体中对该表进行了访问.代码如下:
Private Sub Cmdsave_Click()
txtsql = "insert into template(ID,FingerTmplate,Describe)"
txtsql = txtsql + "values('" + Trim(Combo1.Text) + "','"
txtsql = txtsql + Trim(TextRegister.Text) + "','" + Trim(Text1.Text) + "')"
results = ExecuteSQL(txtsql, rstUser, True)
MsgBox "添加成功!", vbOKOnly + vbExclamation, "警告"
End SubExecuteSQL是前面定义的一个SQL语句的执行函数
而我进行多次实验后发现,在我建的新表中根本就不受操作.后来我直接把template去掉,居然不报错,还可以运行.我就不知道为什么了,希望可以得到大家的帮助
Public Function ExecuteSQL(ByVal Sql As String, Rst As ADODB.Recordset, _
Optional enableWrite As Boolean = True) As Boolean
Dim con As ADODB.Connection
Dim sTokens() As String
On Error GoTo Execute_Error
sTokens = Split(Sql)
Set con = New ADODB.Connection
con.Open ConnectString
Set Rst = New ADODB.Recordset
If enableWrite Then
Rst.Open Trim$(Sql), con, adOpenStatic, adLockOptimistic
Else
Rst.Open Trim$(Sql), con, adOpenStatic, adLockReadOnly
End If
ExecuteSQL = True
Exit Function
Execute_Error:
ExecuteSQL = False
Exit Function
End Function
我在新的模板定义了一个rstRegister As ADODB.Recordset
在我的程序中调用了 ExecuteSQL(txtsql, rstRegister, True),希望可以访问新建的数据库,可是总是不能访问.哪位知道这是怎么回事吗?希望可以解答一下
也就是说,ExecuteSQL不能执行insert into语句,修改ExecuteSQL吧
就你上面贴出来的那个ExecuteSQL函数,不作修改,是不可能直接解决你的insert into问题的......
如果一定要用你的那个ExecuteSQL函数做,那也应该首先用ExecuteSQL返回表template的记录集,然后用addnew方法添加数据!!!