VB中使用Adodc控件操纵数据库的具体方法(代码)——熟悉VB数据库编程的人请进。

bluetide 2002-09-04 09:59:06
我在Form中加入意Adodc控件和一个DataGrid控件,并让DataGrid于这个Adodc控件连接,让Adodc与一SQL Server数据库连接,通过使用一下代码:
myAdodc.RecordSource="select * from myTable where mid='" & qStr & "'"
myAdodc.Refresh
可以完成对数据库的方便查询,结果将显示在那个DataGrid控件上

现在我需要对数据库中的表做数据更新,也即记录的添加,删除,修改,在添加记录的过程中我遇到了如下的问题,希望有经验的朋友指点,我是用以下代码:
myAdodc.RecordSource="select * from myTable"
myAdodc.Refresh
With myAdodc.Recordset
.AddNew
.Fields("mid")=text1.text '主键,vchar型
.Fields("num")=text2.text 'int型
.Fields("date")=text3.text 'datatime型
.Update
End With
myAdodc.Recordset.Refresh
但是每次我添加时都会出现“多步操作”错,由于详细介绍Adodc的书籍实在太少(或者有,我不知道),我只有求助于这里,希望熟悉VB数据库编程的人帮帮忙!谢谢





...全文
277 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
bluetide 2002-09-04
  • 打赏
  • 举报
回复
产生的新问题:我发现如果我在AddNew语句后,对记录的各字段进行赋值时,当执行到对主键字段进行赋值时,就产生上述错误,如果不对主键字段赋值,竟然可以通过!且新添加的记录的主键字段是原表中说有主键的最大值的下一个(主键为smallint),而且这个主键字段是另一张表的外键(就是SQLServer2000的例子数据库pub的jobs中的job_id是employee表的外键),这个约束与上述错误有关系吗?
bluetide 2002-09-04
  • 打赏
  • 举报
回复
但是我另外用一个ADO控件,或是使用代码的方式,仍然得到同样的错误:
"多部操作产生错误。请检查每一步的状态值。"
百思不得其解!!
jenny00101 2002-09-04
  • 打赏
  • 举报
回复
你的ADO控件正在被DATAGRID调用,你在另外对ADO进行刷新、ADDNEW会报错的,
建议你另外用一个ADO控件,让它VISIBLE=FALSE进行ADDNEW操作,
另外也可以不用控件,直接用VB语句操作,比如:
dim rst as new ADODB.recordset
dim conn as new ADODB.connection
conn.open 数据库连接语句
with rst
.open "select * from myTable",conn,......
.addnew
....
end with
set rst=nothing

1,451

社区成员

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

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