利用游标执行删除的SQL语句,各位大侠帮小弟看看哪里出错了
void deleteproc(char name[20])
{
int flag = 1;
EXEC SQL DECLARE de_cursor CURSOR FOR select name from student;
EXEC SQL OPEN de_cursor;
while(1){
EXEC SQL WHENEVER NOT FOUND DO break;
EXEC SQL FETCH de_cursor INTO:sname;
if(strcmp(sname,name) == 0){
EXEC SQL delete from student where name=:name;
EXEC SQL commit;
printf("Delete ---- Success\n");
flag = 0;
break;
}
}
EXEC SQL WHENEVER NOT FOUND CONTINUE;
if(flag == 1)
printf("Can not find the student\n");
EXEC SQL CLOSE de_cursor;
}
之前早上执行还好使 后来把游标查询名字封装成函数了 不管怎么输入都是“can not find the student"
现在再写回来 还是一直显示这句话
大侠们帮帮菜鸟!
[解决办法]
那你先看看数据库里面是不是还真的存在这些记录
[解决办法]
void deleteproc(char name[20])
这个参数换个别的名字吧。
[解决办法]
会不会是name[]或sname[]里有空格啥的,建议逐字节看下
[解决办法]