数据库方面的问题?
本人第一次来本站,也是第一次发言,在编写一个数据库程序时,出现如下问题:
1.如何对符合条件的记录的某个字段批量赋值?我用UPDATE SQL时提示语法出错?
2.如何实现对数据集编辑状态的开与关,就是让某个表可以处于编辑状态或只读状态,而不用每次都调用EDIT,如我要对表中的整个记录逐个改,而不需要每次都调用EDIT,也不用GIRD组件。如何实现?
请高手指教,最好附上源代码。
谢谢!
问题点数:10、回复次数:12Top
1 楼lvqiang(猿人)回复于 2002-03-02 14:09:20 得分 0
为什么不用EDIT方法?很方便呀?Top
2 楼hmily1688(没什么好说的)回复于 2002-03-02 14:13:47 得分 0
说说你的updatesql时出现什么错误,我成批的用就是用update,好像别无它法,如果用edit只要你的记录一发生变化会自动post,不再调用edit是不行的,你可以写一个循环,把edit放在里面,然后成批的赋值Top
3 楼delphimo((误入歧途))回复于 2002-03-02 14:57:19 得分 0
UPDATE吗!SQL可以完成啊!Top
4 楼mytty()回复于 2002-03-02 20:52:22 得分 0
各位详细点好吗?Top
5 楼mytty()回复于 2002-03-02 20:58:35 得分 0
求求各位了,我急要这段代码?Top
6 楼luckdan_78(东北人)回复于 2002-03-03 19:42:34 得分 0
或者用存储过程Top
7 楼mytty()回复于 2002-03-03 19:44:47 得分 0
回话太简单了,请详细一点。Top
8 楼easyzhou(林中小竹)回复于 2002-03-03 19:52:54 得分 0
用ado组件可以,然后设ado为批处理模式,
最后调用updatebatch就可以了Top
9 楼mytty()回复于 2002-03-10 19:14:43 得分 0
我自己已经解决了,如有哪位朋友需要代码,我可以提供。Top
10 楼qiubolecn(来自差生市)回复于 2002-03-10 19:20:13 得分 0
你把代码直接贴在这里多好呢:)Top
11 楼whillamgaster(水丰田)回复于 2002-03-10 19:42:30 得分 10
控件:TQuery
主要语句:
Query1.close;
Queyr1.sql.clear;
Queyr1.sql.add('update table_name set field_name=:f_value where condition');
Query1.parambyname('f_value').asstring:=//要付给字段的值
Query1.execsql;
这样即可完成批量纪录同一个字段的赋值Top
12 楼mytty()回复于 2002-03-10 19:53:58 得分 0
楼上的完全正确,不过提醒一下,如果用UPDATESQL组件会出错的,不过如果要动态地改变某个库表的的某个字段值的话,可以把TABLE_NAME设成一个变量,用FARMAT函数包含方可正确。如果这样的话,上面的第三行语句可以改为
Queyr1.sql.add(format('update '+'"'+'%s'+' set field_name=:f_value where condition',[filename]); 如有不妥,请指教
Top




