vb与access用oledb连接如何实现基本的查询,添加,修改功能????

ficmy 2005-10-21 04:55:10
窗体上有五个文本框,分别用来对应显示:编号,姓名,性别,出生日期,籍贯;两个命令按钮:分别为“查询”和“结束运行”,我想实现的功能是在显示“编号”的文本框里输入1,2等等,(1)单击“查询”按钮则在其它几个文本框里分别显示对应字段的信;(2)在各个文本框中输入相应的信息,单击“添加”,则在数据库的表中增加一条记录;(3)“修改”已存在的记录,确认后将修改的结果保存在数据库的表中。
程序如下:
dim rs as ADODB.Recordset
private sub form_load()
dim conn as ADODB.Connection, str as string
set conn=new ADODB.Connection
set rs=new ADODB.Recordset

str="provider=microsoft.jet.OLEDB.4.0;Data source="& App.path &"\fff.mdb"
sql="select * from qe"
conn.Open str
rs.Open sql,conn,1,1

end sub
希望各位高手给与指导,因本人刚开始学习,很是惭愧!!!谢谢了!!!
...全文
205 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
上官云峰 2005-10-21
  • 打赏
  • 举报
回复
放到类模块中,记得引用ado
数据库中数据访问函数

Dim msgtext As String
Dim mrc As ADODB.Recordset

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 Function

Public Function ConnectString() As String
ConnectString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\计划管理系统.mdb;Persist Security Info=False"
'ConnectString = "Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=aa;Data Source=RJB-CL"
End Function
上官云峰 2005-10-21
  • 打赏
  • 举报
回复
数据库访问函数,记得引用ado
Dim msgtext As String
Dim mrc As ADODB.Recordset

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 Function

Public Function ConnectString() As String
ConnectString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\计划管理系统.mdb;Persist Security Info=False"
'ConnectString = "Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=aa;Data Source=RJB-CL"
End Function

在窗体里的代码
dim rs as ado.recordset
dim msgtext as string
dim strsql as string
添加记录
strsql="select * from table"
set rs=executesql(strsql,msgtext)

rs.addnew
rs.fields("字段名")=text1.text
.........
rs.update
rs.close
'修改记录
strsql="select * from table where id=1"
set rs=executesql(strsql,msgtext)
rs.fields("字段名")=text1.text
.........
rs.update
rs.close
'删除记录
strsql="delete from table where id=1"
set rs=executesql(strsql,msgtext)
set rs=nothing

'查询记录
strsql="select * from table"
set rs=executesql(strsql,msgtext)
msgbox rs.recordcount

7,763

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧