求救!!!当前记录集不能更新

mmxqf 2007-01-06 05:04:44
程序如下:
Set con = New ADODB.Connection
con.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + App.Path + "\成绩管理.mdb;Persist Security Info=False"
con.CursorLocation = adUseClient
con.Open
sql = "select 学号,姓名,课程名称,平时表现,期中成绩,期末成绩,总评 from 成绩表"
Set myRs = con.Execute(sql)
'myRs.Open sql, con, adOpenKeyset, adLockOptimistic
If Check = False Then
Exit Sub
End If

With myRs

myRs.Fields(0).Value = txtNo.Text--------程序运行到这里就说:当前记录集不支持更新,这可能是提供程序的限制,也可能是选定锁定类型的限制
myRs.Fields(1).Value = txtName.Text
myRs.Fields(2).Value = txtCourse.Text
myRs.Fields(3).Value = txtpsbx.Text
myRs.Fields(4).Value = txtqzcj.Text
myRs.Fields(5).Value = txtqmcj.Text
myRs.Fields(6).Value = txtzp.Text


'判断楼号是否存在
If Modify = False Then
If myRs.Fields(0) = True Then
MsgBox "学号已经存在,请重新输入"
txtNo.SetFocus
txtNo.SelStart = 0
txtNo.SelLength = Len(txtNo)
Exit Sub
End If
End If
If Modify = False Then
sql = "INSERT INTO 成绩表(学号,姓名, 课程名称,平时表现,期中成绩,期末成绩" _
+ " 总评)" + " VALUES('" + Trim(学号) + "'," + Trim((姓名)) _
+ "," + Trim((课程名称)) + "," + Trim((平时表现)) + "," + Trim(期中成绩) + "," + Trim(期末成绩) + "," + Trim(总评) + "')"
' myRs.Open sql, con
MsgBox "添加成功"
Else
sql = "UPDATE 成绩表 SET 姓名='" + Trim(姓名) _
+ "', 课程名称=" + Trim(课程名称) + ",平时表现=" _
+ Trim(平时表现) + ",期中成绩='" + Trim(期中成绩) + ",期末成绩='" + Trim(期末成绩) + ",总评='" + Trim(总评) _
+ "' WHERE BuildingNo='" + Trim(TmpNo) + "'"
'myRs.Open sql, con
MsgBox "修改成功"
End If

End With
Unload Me

...全文
661 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
dajay520 2007-01-08
  • 打赏
  • 举报
回复
设置 connection中的一个属性就可以了
mmxqf 2007-01-06
  • 打赏
  • 举报
回复
能说的清楚点嘛?其实我的程序是用两个窗体,在一个窗体上有添加,删除,修改按钮,当用户按添加的时候,就能弹出一个添加窗体让用户添加信息的,然后让添加的信息加到数据库里,可是现在程序运行到上面那段就出错了,我也不懂是怎么啦,各位帮帮忙!!!!!!!!!!
jinyehouse 2007-01-06
  • 打赏
  • 举报
回复
我同意上面的观点
增加记录用:con.execute "insert into tablename(...) values(...)"
修改记录用:con.execute "update tablename set ... where ..."
删除记录用:con.execute "delete from tablename where ..."
你添加一个记录也用不着那么麻烦吧,改个方式吧。
上面3个语句足够满足你的要求!!
mmxqf 2007-01-06
  • 打赏
  • 举报
回复
上面的那位老兄,我出错的是运行到这部分啊:
With myRs

myRs.Fields(0).Value = txtNo.Text
--------程序运行到这里就说:当前记录集不支持更新,这可能是提供程序的限制,也可能是选定锁定类型的限制
myRs.Fields(1).Value = txtName.Text
myRs.Fields(2).Value = txtCourse.Text
myRs.Fields(3).Value = txtpsbx.Text
myRs.Fields(4).Value = txtqzcj.Text
myRs.Fields(5).Value = txtqmcj.Text
myRs.Fields(6).Value = txtzp.Text
CheeringSoft 2007-01-06
  • 打赏
  • 举报
回复
增加记录用:con.execute "insert into tablename(...) values(...)"
修改记录用:con.execute "update tablename set ... where ..."
删除记录用:con.execute "delete from tablename where ..."

1,065

社区成员

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

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