|
char branch;
char branch_2;
char user;
char user_2;
char sex;
date bdate;
EXEC SQL END DECLARE SECTION;
FILE *fp;
if (argc == 2)
{
strcpy(branch_2, argv[1]);
strcpy(user_2, argv[2]);
}
EXEC SQL database dbase;
EXEC SQL DECLARE cursor1 CURSOR FOR
SELECT Branch,User,Sex,Bdate
into :branch,:user,:sex,:bdate
FROM info_wqw
where Branch = :branch_2
and User = :user_2;
EXEC SQL OPEN cursor1;
for(;

{
EXEC SQL FETCH NEXT cursor1;
/*if(SQLCODE SQLCODE != SQLNOTFOUND)
{
SYSTEM_ERR( FETCH NEXT cursor1"

;
return PICC_FAIL;
}
*/
if(SQLCODE == SQLNOTFOUND)
{
printf(
"

;
printf( end"

;
break;
}
fp = fopen( /u/0519/info.txt , a"

;
if(fp==NULL)
{ printf(
can't open file
"

;
return ;
}
fprintf(fp, %d ,123);
printf( finished"

;
}
fclose(fp);
}
编译后执行:GetInfo 650101 tom 后没有找到记录,表里确实有这条记录,但如果我把
EXEC SQL DECLARE cursor1 CURSOR FOR
SELECT Branch,User,Sex,Bdate
into :branch,:user,:sex,:bdate
FROM info_wqw
/*where Branch = branch_2
and User = user_2;*/
后面不加条件的话是正确的,可以找到记录,是变量的问题么?帮忙看看是怎么回事?
主程序的参数传了没?还有要看数据库里的Branch和User是不是有空格啊?如果有的话参数里也要加空格。 |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
|