在pro*c中使用光标的高手请进 EXEC SQL FETCH send_cursor INTO :b0;这句话的意思是把a=1的纪录附给b0吧?也就是说b0不是good了,怎么改的过去? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 你说的更新不用用游标。执行strcpy((char*)sql.arr,"update test1 set b='good' where a=1 ");sql.len=strlen((char*)sql.arr); EXEC SQL PREPARE sqlstm FROM :sql; EXEC SQL EXECUTE sqlstm; EXEC SQL COMMIT;就可以了。 EXEC SQL FETCH send_cursor INTO :b0;EXEC SQL UPDATE TEST1 SET B=:b0; 改过去就怪了 若是查询条件限制死的话,uje(sky)说的对,该种方式最简洁;若查询条件随时更改可考虑有游标完成,上述程序的主要错误就在于用从数据库取出的数据覆盖了b0,导致strcpy对b0的初始化形同虚设。 链接服务器查询视图时,内部错误? 如何获取虚拟目录IIS的路径! 如何将查询后的结果倒出为.txt文本文件? 急救,请各位大侠赐教! 负数转成16进制字符串 请教:如何将SMALLDATETIME类型的字段赋为空值? 请问哪儿有SQL SERVER 2000 个人版下载? 关树形数据的查询请教 小问题,急死人! SQL 2000 连接超时的问题 Linux下关于使用sql/plus的一个小问题 如何提高查询的效率?
strcpy((char*)sql.arr,"update test1 set b='good' where a=1 ");
sql.len=strlen((char*)sql.arr);
EXEC SQL PREPARE sqlstm FROM :sql;
EXEC SQL EXECUTE sqlstm;
EXEC SQL COMMIT;就可以了。
EXEC SQL UPDATE TEST1 SET B=:b0;
改过去就怪了
若查询条件随时更改可考虑有游标完成,上述程序的主要错误就在于用
从数据库取出的数据覆盖了b0,导致strcpy对b0的初始化形同虚设。