- 论坛徽章:
- 0
|
在c++中连接远程MSSQL服务器进行表的一些操作, 现在想重写一个指定列的第一项到最后一项, 查阅了帮助, 看到可以用游标, 然后在SQL的服务器上企业管理器里输入sql命令
declare z cursor global for select * from t3
open z
fetch next from z
fetch next from z
fetch next from z
update t3 set PCName0 = 3 where current of z
可以正常将PCName0这一列的第三行改为3
但是在程序中这样写, 执行到最后一行的时候就会抛出异常
sprintf(cmd, "declare z cursor global for select * from t3");
m_DB.ExecuteSQL(cmd);
sprintf(cmd, "open z");
m_DB.ExecuteSQL(cmd);
sprintf(cmd, "fetch next from z");
m_DB.ExecuteSQL(cmd);
sprintf(cmd, "fetch next from z");
m_DB.ExecuteSQL(cmd);
sprintf(cmd, "fetch next from z");
m_DB.ExecuteSQL(cmd);
sprintf(cmd, "update t3 set PCName0 = 3 where current of z");
m_DB.ExecuteSQL(cmd);
请问不能在这种情况下用游标吗? 如果能用麻烦能给个示例代码吗, 如果不能用游标又该怎么做才能实现重写整个指定列呢?
先谢过了 :)
[ 本帖最后由 the0crat 于 2007-10-18 12:03 编辑 ] |
|