用update语句 如何把 vsflexgird 8.0 保存到数据库?在线等
用update语句 如何把 vsflexgird 8.0 的表格所有数据 更新到 sql server 2000 数据库表格的字段和数据库的字段都一样
我用以下代码 只能做到保存 表格最后一条记录的数据 请高手指教 在线等
rs.open"select * from 工资表",Cnn, adOpenKeyset, adLockOptimistic
with vsflexgird1
for i = 1 to .rows-1
for j = 0 to .cols-1
rs.fields(.TextMatrix(0,j))=.TextMatrix(i,j)
next j
next i
end with
rs.update
rs.close
--------------------编程问答-------------------- 用adOpenKeyset?
.....
rs.fields(.TextMatrix(0,j))=.TextMatrix(i,j)
rs.update 'update应放在这里
next j
next i
end with
--------------------编程问答-------------------- with vsflexgird1
for i = 1 to .rows-1
'增加记录
conn.execute "insert into 表名(字段1,字段2,...) values('"& .textmatrix(i,0) &"','"& .textmatrix(i,1) &"')"
'更新记录
conn.execute "update 表名 set 字段1='"& .textmatrix(i,0) &"',... where ..."
next i
end with --------------------编程问答-------------------- 回复1楼
用adOpenKeyset有什么不妥吗? --------------------编程问答-------------------- 把 with vsflexgird1
for i = 1 to .rows-1
for j = 0 to .cols-1
rs.fields(.TextMatrix(0,j))=.TextMatrix(i,j)
next j
next i
end with
rs.update
rs.close
改为 with vsflexgird1
for i = 1 to .rows-1
for j = 0 to .cols-1
rs.AddNew
rs.fields(.TextMatrix(0,j))=.TextMatrix(i,j)
rs.update
next j
next i
end with
rs.close
试试 --------------------编程问答-------------------- 2楼的
我只用了conn.execute "update 表名 set 字段1='"& .textmatrix(i,0) &"',... where ..."
通过了 但运行速度奇慢 我是下面这么写的
with vsflexgird1
for i = 1 to .rows-1
for j = 0 to .cols-1
conn.execute "update 工资表 set '"& .textmatrix(0,i) &"'='"& .textmatrix(i,j) &"'"
next j
next i
end with
有什么好办法解决速度的问题吗?
--------------------编程问答-------------------- 4楼的 我不想用 rs.AddNew 增加新纪录 只想更新现有数据 用1楼的 和你的方法都不行 没有错误提示 --------------------编程问答-------------------- 不想增加记录,可以在增加记录之前先把"工资表"数据库记录全删除啊,conn.execute "delete from 工资表" --------------------编程问答-------------------- 我一般不绑定,保存时用SQL更新或删除 --------------------编程问答-------------------- 不用addnew不行吗?
补充:VB , 基础类