关于vb数据库addnew的问题

PrivateSubcmd2_Click()Setconn=NewADODB.ConnectionSetrs=NewADODB.Recordsetconn.Connect... Private Sub cmd2_Click()
Set conn = New ADODB.Connection
Set rs = New ADODB.Recordset
conn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & App.Path & "\db1.mdb;" & _
"Persist Security Info=False"
conn.Open
rs.Open "select * from jbzl", conn
rs.AddNew
rs.Fields(0) = txt1.Text
rs.Fields(1) = txt2.Text
rs.Fields(2) = txt3.Text
rs.Fields(3) = txt4.Text
rs.Update
rs.Fields(0) = ""
rs.Fields(1) = ""
rs.Fields(2) = ""
rs.Fields(3) = ""
txt1.SetFocus
rs.Close
conn.Close
End Sub
提示记录集不支持更新,错误3251。
高分求助,在线等!!!
展开
 我来答
abcnyzay
2011-08-22 · TA获得超过1377个赞
知道小有建树答主
回答量:928
采纳率:100%
帮助的人:1035万
展开全部
rs.Open "select * from jbzl", conn前面加一行:
rs.locktype=2'即adLockPessimistic,即可读写,默认为adLockReadOnly即只读
或改为:rs.Open "select * from jbzl", conn, 1,2
另外,rs.Fields(0) = ""是否为txt1="",其他雷同?
尚心部落
2011-08-22 · TA获得超过302个赞
知道小有建树答主
回答量:534
采纳率:0%
帮助的人:561万
展开全部
rs.Fields(0) = ""
rs.Fields(1) = ""
rs.Fields(2) = ""
rs.Fields(3) = ""
是什么意思?为什么赋值后又清空了?
还有,你在addnew前加上rs.edit试试
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
evcju136fms
2011-08-23 · TA获得超过463个赞
知道小有建树答主
回答量:929
采纳率:0%
帮助的人:550万
展开全部
如果是绑定的,根本不需要Data1.Recordset.Fields(0).Value = TxtID.Text 类似的语句。一般情况,只有文本框不与数据库绑定,才会用到类似的赋值语句。

建议你再加一个 update 的按钮。
CmdAdd_Click的代码只需要一句:Data1.Recordset.AddNew
此时,当你点击CmdAdd后,6个文本框的内容都变成空了 。
再由用户在6个文本框中输入数据。
之后再点击update按钮,确定保存。
update_Click的代码只需要一句:Data1.Recordset.update
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
scd_150
2011-08-22 · 超过38用户采纳过TA的回答
知道答主
回答量:113
采纳率:0%
帮助的人:75.5万
展开全部
你的文本框的datafield和datasource ,有没有设置。必须与数据库对应上才能添加。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式