微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 测试测量 > Labview > ODBC Microsoft Access 驱动程序] 客户端的工作过多

ODBC Microsoft Access 驱动程序] 客户端的工作过多

时间:10-02 整理:3721RD 点击:
被一个问题困扰了很久,我想更新数据库中名为“到期”这一列,一开始用“UPDATE 库存记录 SET 到期='30/20'WHERE 编号='KAMK002'   ”这个命令,利用循环,每次循环不断的修改列的数值,结果由于数据库行数太多,导致客户端工作过多的错误,不知道如果一定要用这个办法,有什么解决方案吗?
后来我又想,先一次性把“到期”这一列全部计算出来,然后一次性在写入这一列,后来发现没有合适的命令,查了很多资料都没找到,有没有哪位大神能够解答一下啊。

求不要沉啊,放张图片上来。


难道是哪里形容不清楚么,拜托拜托

1.将一个表中的一批记录更新到另外一个表中
table1
ID f1 f2
table2
ID f1 f2
先要将table2中的f1 f2 更新到table1(相同的ID)
update table1,table2 set table1.f1=table2.f1,table1.f2=table2.f2 where table1.ID=table2.ID
2.将同一个表中的一些记录更新到另外一些记录中
表:a
ID   month   E_ID     Price
1       1           1        2
2       1           2        4
3       2           1         5
4       2           2        5
先要将表中2月份的产品price更新到1月份中
显然,要找到2月份中和1月份中ID相同的E_ID并更新price到1月份中
这个完全可以和上面的方法来处理,不过由于同一表,为了区分两个月份的,应该将表重命名一下
update a,a as b set a.price=b.price where a.E_ID=b.E_ID and a.month=1 and b.month=2
当然,这里也可以先将2月份的查询出来,在用1.的方法去更新
update a,(select * from a where month=2)as b set a.price=b.price where a.E_ID=b.E_ID and a.month=1

1.将一个表中的一批记录更新到另外一个表中
table1
ID f1 f2
table2
ID f1 f2
先要将table2中的f1 f2 更新到table1(相同的ID)
update table1,table2 set table1.f1=table2.f1,table1.f2=table2.f2 where table1.ID=table2.ID
2.将同一个表中的一些记录更新到另外一些记录中
表:a
ID   month   E_ID     Price
1       1           1        2
2       1           2        4
3       2           1         5
4       2           2        5
先要将表中2月份的产品price更新到1月份中
显然,要找到2月份中和1月份中ID相同的E_ID并更新price到1月份中
这个完全可以和上面的方法来处理,不过由于同一表,为了区分两个月份的,应该将表重命名一下
update a,a as b set a.price=b.price where a.E_ID=b.E_ID and a.month=1 and b.month=2
当然,这里也可以先将2月份的查询出来,在用1.的方法去更新
update a,(select * from a where month=2)as b set a.price=b.price where a.E_ID=b.E_ID and a.month=1

感谢你的回答,我没有试你的方法,不过我想了一下,你的这个是数据本身就必须在表中,但是我遇到的问题是数据本身不在表中。但是我的问题我已经解决了,解决方法就是,将关闭数据库的命令和打开数据库的命令拖出循环,只将读写操作的命令留在循环内,循环结束后再关闭数据库,之所以犯这个错误就是因为我将这些命令做成了一个子VI,因此在调用子VI的时候忽略了连续打开关闭数据库操作会使得客户端工作量过大。

条件直接用“有效期”列

刚好遇到同样的问题,已经解决,感谢!

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top