求救!!!提示"当前记录集不支持更新"

tltnyok 2007-06-06 12:14:15
我的代码:
Dim conn As ADODB.Connection
Dim sql As String
Dim rs1 As New ADODB.Recordset
Set conn = New ADODB.Connection
conn.ConnectionString = ConnectString
conn.Open '连接数据库
sql = "select * from clkc where 材料名称='" & Trim(txtfields(0).Text) & "' "
Set rs1 = conn.Execute(sql)


If rs1.EOF = True Then '如果没有的话就添加
rs1.Close
sql = "select * from clkc"
Set rs1 = conn.Execute(sql)
rs1.AddNew
rs1.Fields(0) = Trim(txtfields(0).Text)
For i = 1 To 2
If Trim(txtfields(i - 1).Text & "") = "" Then
rs1.Fields(i) = Null
Else
rs1.Fields(i) = Trim(txtfields(i).Text)
End If
Next i
rs1.Update

Else
' rs1.Edit '如果有的话就更新物资库存表中的信息(数量,金额)
rs1![重量] = Val(rs1![重量]) + Val(Trim(txtfields(1).Text))
rs1.Update
rs1.Close
End If
...全文
257 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
饮水需思源 2007-06-06
  • 打赏
  • 举报
回复
sql = "select * from clkc where 材料名称='" & Trim(txtfields(0).Text) & "' "
if rs1.state<>adstateclosed then rs1.close
rs1.open sql,conn,adopenkeyset,adlockreadonly
If rs1.recordcount=0 Then '如果没有的话就添加
conn.execute "insert into clkc(...) values(...)"
Else
conn.execute "update clkc set ... where ..."
End If
rs1.close
set rs1=nothing
tltnyok 2007-06-06
  • 打赏
  • 举报
回复
你的意思是不是没有该种就插入到表里?
if rs1.state<>adstateclosed then rs1.close这句话是什么意思?

1,217

社区成员

发帖
与我相关
我的任务
社区描述
VB 数据库(包含打印,安装,报表)
社区管理员
  • 数据库(包含打印,安装,报表)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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