VB Data控件 access数据库 addnew 增加新记录 出错
VB新手请教大侠:在一窗体中添加有6个文本控件和一个data控件。data1控件的databaseName设置为本地access2000数据库,此数据库的最后一行有默认的...
VB新手请教大侠:
在一窗体中添加有6个文本控件和一个data控件。data1控件的databaseName设置为本地access2000数据库,此数据库的最后一行有默认的系统空行和最后一列默认的系统空列,删不掉,data1与数据库连接成功。6个文本控件分别与数据库中的6个字段分别绑定成功。
现在通过一个新增数据库按钮CmdAdd将6个文本上的内容一次性分别写进数据库中对应的字段作为一行新记录,在采用addnew方法时,老是报错,说“实时错误:3429 该操作被关联对象取消”,调试时,标记错误的是data1.recordset.addnew. 不知如何解决。
CmdAdd_Click的代码如下:
Private Sub CmdAdd_Click()
Data1.Recordset.AddNew ' 设置为在数据库表中增加记录的模式
If Data1.Recordset.RecordCount > 0 Then ' 连接成功并成功打开的记录表不能为空
Data1.Recordset.Fields(0).Value = TxtID.Text
Data1.Recordset.Fields(1).Value = TxtName.Text
Data1.Recordset.Fields(2).Value = TxtAge.Text
Data1.Recordset.Fields(3).Value = CmbSex.Text
Data1.Recordset.Fields(4).Value = TxtGrade.Text
Data1.Recordset.Fields(5).Value = TxtDepartment.Text
' 分别将文本信息对应值赋给指定的记录表中的字段以形成一条新记录
Data1.Recordset.UpdateBatch
'执行将信息增加入记录表中并更新记录表
MsgBox "信息添加成功", vbOKOnly, "信息录入"
Else
MsgBox "数据库不存在", vbExclamation, "信息录入"
End If
End Sub
请高手详细说明,在使用DATA控件成功连接数据库并绑定成功的条件下如何将对应的文本内容采用addnew方法向数据库中增加新记录!
跪拜赐教!
感谢。有效果!!!
不过通过测试发现,如果是处在AddNew模式下,只要在绑定的文本控件中录入了数据,不在保存按钮中执行update操作,所录入的数据都已经自动更新并保存进数据库表中了,因为它们之间是绑定在一起,随时自动更新的。为了确保必须单击保存按钮才能将所录入的数据保存进数据库表中,否则不允许自动保存,为达到此目的,我通过测试,在新增按钮的Data1.Recordset.AddNew语句下再追加一句Data1.Recordset.Edit,然后在保存按钮上执行update操作,好像达到了目的了呢。 展开
在一窗体中添加有6个文本控件和一个data控件。data1控件的databaseName设置为本地access2000数据库,此数据库的最后一行有默认的系统空行和最后一列默认的系统空列,删不掉,data1与数据库连接成功。6个文本控件分别与数据库中的6个字段分别绑定成功。
现在通过一个新增数据库按钮CmdAdd将6个文本上的内容一次性分别写进数据库中对应的字段作为一行新记录,在采用addnew方法时,老是报错,说“实时错误:3429 该操作被关联对象取消”,调试时,标记错误的是data1.recordset.addnew. 不知如何解决。
CmdAdd_Click的代码如下:
Private Sub CmdAdd_Click()
Data1.Recordset.AddNew ' 设置为在数据库表中增加记录的模式
If Data1.Recordset.RecordCount > 0 Then ' 连接成功并成功打开的记录表不能为空
Data1.Recordset.Fields(0).Value = TxtID.Text
Data1.Recordset.Fields(1).Value = TxtName.Text
Data1.Recordset.Fields(2).Value = TxtAge.Text
Data1.Recordset.Fields(3).Value = CmbSex.Text
Data1.Recordset.Fields(4).Value = TxtGrade.Text
Data1.Recordset.Fields(5).Value = TxtDepartment.Text
' 分别将文本信息对应值赋给指定的记录表中的字段以形成一条新记录
Data1.Recordset.UpdateBatch
'执行将信息增加入记录表中并更新记录表
MsgBox "信息添加成功", vbOKOnly, "信息录入"
Else
MsgBox "数据库不存在", vbExclamation, "信息录入"
End If
End Sub
请高手详细说明,在使用DATA控件成功连接数据库并绑定成功的条件下如何将对应的文本内容采用addnew方法向数据库中增加新记录!
跪拜赐教!
感谢。有效果!!!
不过通过测试发现,如果是处在AddNew模式下,只要在绑定的文本控件中录入了数据,不在保存按钮中执行update操作,所录入的数据都已经自动更新并保存进数据库表中了,因为它们之间是绑定在一起,随时自动更新的。为了确保必须单击保存按钮才能将所录入的数据保存进数据库表中,否则不允许自动保存,为达到此目的,我通过测试,在新增按钮的Data1.Recordset.AddNew语句下再追加一句Data1.Recordset.Edit,然后在保存按钮上执行update操作,好像达到了目的了呢。 展开
1个回答
展开全部
如果是绑定的,根本不需要Data1.Recordset.Fields(0).Value = TxtID.Text 类似的语句。一般情况,只有文本框不与数据库绑定,才会用到类似的赋值语句。
建议你再加一个 update 的按钮。
CmdAdd_Click的代码只需要一句:Data1.Recordset.AddNew
此时,当你点击CmdAdd后,6个文本框的内容都变成空了 。
再由用户在6个文本框中输入数据。
之后再点击update按钮,确定保存。
update_Click的代码只需要一句:Data1.Recordset.update
建议你再加一个 update 的按钮。
CmdAdd_Click的代码只需要一句:Data1.Recordset.AddNew
此时,当你点击CmdAdd后,6个文本框的内容都变成空了 。
再由用户在6个文本框中输入数据。
之后再点击update按钮,确定保存。
update_Click的代码只需要一句:Data1.Recordset.update
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询