急求一个VB程序代码,实现数据库内容的查询,修改,新增,删除

在TEXT1中输入要查询的条目,点击查询后TEXT2显示相对应的内容,如没有该条目或对应内容不正确则通过TEXT2实现录入或修改,按钮三实现该条目的删除,大概就是这样
希望能写明实现步骤,我是初学者中的初学者,代码有注释的话最好
急用,拜托了
邮箱地址2398280420@qq.com,或者直接回答
悬赏初定为100,可追加

第1个回答  2013-08-18
'点击工程(P)--引用(N)--选择 "Microsoft DAO2.5/3.5 compatibility Library" 打钩确定。
Dim D As Database, T As TableDef, R As Recordset
Private Sub Command1_Click() '创建数据库
Set D = CreateDatabase("D:\数据库名称.mdb", dbLangGeneral, dbEncrypt) '创建数据库对象(dbEncrypt=加密)
D.NewPassword "", "123456" '数据库密码设置为123456
'建立设置数据表
Set T = D.CreateTableDef("数据表名称") '数据表名称:
T.Fields.Append T.CreateField("项目一", dbMemo) 'TEXT1内容
T.Fields.Append T.CreateField("项目二", dbMemo) 'TEXT2内容
D.TableDefs.Append T '将数据表添加到数据库中
D.Close '关闭数据库
End Sub
Private Sub Command2_Click() '查询
Dim T1 As Boolean '判断查询数据是否存在参数
Set D = OpenDatabase("D:\数据库名称.mdb", True, False, ";pwd=123456") '需要查询的数据库名称,格式,允许修改,数据库密码
Set R = d1.OpenRecordset("Select * From 数据表名称") '数据表名称:
R.MoveFirst '记录移到第一条记录
Do While (R.EOF = False) '如果记录已经是最后一条就退出循环
If R.Fields("项目一") = Text1.Text Then '判断项目一是否等于文本TEXT1内容
Text2.Text = R.Fields("项目二") '如果存在TEXT2文本框就引入记录内容
T1 = True '作于下面判断记录已经存在的条件
Exit Do '记录已经查到,可以退出循环查询比较
End If
R.MoveNext '如果本条记录不符合要就就记录移到下一条记录
Loop
If T1 = False Then MsgBox "您查询的结果不存在" '这里使用到了参数 T1 作为判断是否存在记录
D.Close '关闭数据库
End Sub
Private Sub Command32_Click() '新数据录入
Set D = OpenDatabase("D:\数据库名称.mdb", True, False, ";pwd=123456") '需要查询的数据库名称,格式,允许修改,数据库密码
Set R = D.OpenRecordset("Select * From 数据表名称")
R.AddNew '增加一条新记录
R.Fields("项目一") = 1 'TEXT1新记录内容
R.Fields("项目二") = "个VB程序代码,实现数据库内容的查询,修改,新增,删除" 'TEXT2新记录内容
R.Update '保存记录
D.Close '关闭数据库
End Sub
Private Sub Command4_Click() '修改
Set D = OpenDatabase("D:\数据库名称.mdb", True, False, ";pwd=123456") '需要查询的数据库名称,格式,允许修改,数据库密码
Set R = D.OpenRecordset("Select * From 数据表名称")
R.Edit '修改记录 (注意 在程序中你根据需要条件将记录移到你需要修改的位置才进行修改)
R.Fields("项目一") = Text1.Text 'TEXT1记录内容修改
R.Fields("项目二") = Text2.Text 'TEXT2记录内容修改
R.Update '保存记录
D.Close '关闭数据库
End Sub
Private Sub Command5_Click() '删除
Set D = OpenDatabase("D:\数据库名称.mdb", True, False, ";pwd=123456") '需要查询的数据库名称,格式,允许修改,数据库密码
Set R = D.OpenRecordset("Select * From 数据表名称")
'

Data1.Recordset.Delete '删除该条记录 ,(注意 在程序中你根据需要条件将记录移到你需要删除的位置才进行删除)
D.Close '关闭数据库
End Sub
'我今晚使用的电脑没有安装VB企业版,未经测试,如有疑问星期一上班有时间再回复。追问

各种错误不断,能帮我调试一下吗?

追答

已测试修改,回答回答受字数限制,无法提交。请重新发布问题

追问

能发到我的邮那个箱吗?谢谢。。。这两天没上网。。。

第2个回答  2013-08-17
adoodc控件没用过
我一般是这样写的:
'菜单栏-工程-引用-勾选microsolf activex data objects x.xx library (x.xx为版本号)-确定
'声明窗体变量,也可声明全局变量
dim conn As New ADODB.connection
dim rs As New ADODB.Recordset
dim strsql As String
dim cnstr As String
dim TJ As String
Private Sub Form_Load()
‘连接数据库
conn.CursorLocation = adUseClient
cnstr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=1.mdb;Jet OLEDB:Database Password=" ’这里的数据库地址,可用绝对地址或相对地址,无密则留空
conn.ConnectionString = cnstr
conn.Open cnstr
End Sub
Private Sub Command1_Click()’查询按钮 ps:text6下面的类别是什么?多条件查询可改一下查询语句即可
if rs.state=adstateopen then rs.close '每次查询前检测表是否打开,打开时则关闭表
TJ=text6.text
strsql = "select * from 表名 where 字段名 ='" & TJ & "'" ‘适当修改表名,查询的了段名
rs.Open strsql, conn, 3, 3
if rs.eof then
msgbox"要查询的名称不存在!"
else
'这里假设你的字段从左到右分别 名称,座机,手机,邮箱,职务
text1.text= rs(0)
text2.text=rs(1)
text3.text=rs(2)
text4.text=rs(3)
text5.text=rs(4)
end if
rs.close '关闭表
End Sub
Private Sub Command2_Click() '删除
'这里是查询后,再删除查询用的记录,用text1作查询条件
If Text1.Text <> "" Then
Dim maval As Integer
myval = MsgBox("确定要删除记录?要删除记录请选择“是”继续操作?", vbYesNo + vbQuestion, "提示")
If myval = vbYes Then
If rs.State = adStateOpen Then rs.Close'同样的,先检查表的打开状态
strsql = "select * from 表名 where 字段名 =" & Text1.Text & ""
rs.Open strsql, conn, 3, 3
If rs.EOF Then
MsgBox "该名称不存在!", , "提示"
Else
rs.Delete
rs.Update '删除后要先更新再关闭表
text1.text=""'清空文本框,省略text2-5的
msgbox"记录已成功删除!"
End If
rs.close
end if
End Sub
Private Sub Command3_Click() '添加
If rs.State = adStateOpen Then rs.Close'同上
'这里加一段代码检查要添加的数据是否完整,(略)
strsql = "select * from 表名 where 字段名 =" & Text1.Text & ""
rs.Open strsql, conn, 3, 3
if rs.eof then'判断数据是否存在!确保记录的唯一性
rs.addnew
rs(0)=text1.text
rs(1)=text2.text
rs(2)=text3.text
rs(3)=text4.text
rs(4)=text5.text
rs.update
else
msgbox"记录不存在!"
end if
rs.close
End Sub
'好吧,基本上就是这样的,来来去去也是那几句

参考这个问题回答,里面有这段代码的窗口界面(这个是 datagrid + access 的)
http://zhidao.baidu.com/question/578895277.html?oldq=1
第3个回答  2013-08-17

加你了追问

哪里加我了?

追答

加Q加不了啊

追问

抱歉,现在可以了,我这个是备用Q,忘了改防骚扰了。。。

相似回答