窗体代码 Dim rs As ADODB.Recordset dim msgtext as string Private Sub Command1_Click() dim strsql as string strsql ="select * from dw_table" set rs=executesql(strsql,msgtext) rs.addnew rs.fields("dw_mc")=text1.text ........... rs.update rs.close set rs=nothing msgbox "添加成功!",48,"信息" End Sub 下面的代码放到类模块中,是一个数据库动态连接函数 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 'Dim SQL As String On Error GoTo ExecuteSQL_Error sTokens = Split(sql) Set cnn = New ADODB.Connection cnn.Open ConnectString If InStr("INSERT,DELETE,UPDATE", UCase$(sTokens(0))) Then cnn.Execute sql MsgString = sTokens(0) & "query successful" Else Set rst = New ADODB.Recordset rst.Open Trim$(sql), cnn, adOpenKeyset, adLockOptimistic
Set ExecuteSQL = rst
MsgString = "查询到" & rst.RecordCount & "条纪录" End If ExecuteSQL_Exit: Set rst = Nothing Exit Function Set cnn = Nothing ExecuteSQL_Error: MsgString = "查询错误:" & Err.Description Resume ExecuteSQL_Exit End FunctionPublic Function ConnectString() As String ConnectString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\计划管理系统.mdb;Persist Security Info=False" End Function
Dim rs As ADODB.Recordset
dim msgtext as string
Private Sub Command1_Click()
dim strsql as string
strsql ="select * from dw_table"
set rs=executesql(strsql,msgtext)
rs.addnew
rs.fields("dw_mc")=text1.text
...........
rs.update
rs.close
set rs=nothing
msgbox "添加成功!",48,"信息"
End Sub
下面的代码放到类模块中,是一个数据库动态连接函数
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
'Dim SQL As String
On Error GoTo ExecuteSQL_Error
sTokens = Split(sql)
Set cnn = New ADODB.Connection
cnn.Open ConnectString
If InStr("INSERT,DELETE,UPDATE", UCase$(sTokens(0))) Then
cnn.Execute sql
MsgString = sTokens(0) & "query successful"
Else
Set rst = New ADODB.Recordset
rst.Open Trim$(sql), cnn, adOpenKeyset, adLockOptimistic
Set ExecuteSQL = rst
MsgString = "查询到" & rst.RecordCount & "条纪录"
End If
ExecuteSQL_Exit:
Set rst = Nothing
Exit Function
Set cnn = Nothing
ExecuteSQL_Error:
MsgString = "查询错误:" & Err.Description
Resume ExecuteSQL_Exit
End FunctionPublic Function ConnectString() As String
ConnectString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\计划管理系统.mdb;Persist Security Info=False"
End Function
一定要在程序中间加入,不是手工在数据库加入.
谢谢指教!
------------
'引用ADO(Microsoft ActiveX Data Objects 2.X Library)
Private Sub Command1_Click()
On Error GoTo err
Dim cn As New ADODB.Connection
'有密码的连接方式
'cn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\Test.mdb;Jet OLEDB:DataBase password=12345;"
'无密码的连接方式
cn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Test.mdb;Persist Security Info=False"
cn.Open
cn.Execute ("alter table table1 add newCol char(10)")'往表(table1)中增加一列(newCol)
Exit Sub
err:
MsgBox err.Description
End Sub