#include <iostream>
using namespace std;
#include "sqlca.h"EXEC SQL BEGIN DECLARE SECTION;
char *uid="system/oracle@swdb";
char username[10][21];
int id[10];
int v_id;
int cnt;
EXEC SQL END DECLARE SECTION;void sqlerr()
{
EXEC SQL WHENEVER SQLERROR CONTINUE;
cout << sqlca.sqlerrm.sqlerrmc<<endl;
EXEC SQL ROLLBACK WORK RELEASE;
exit(1);
}
int main()
{
EXEC SQL WHENEVER SQLERROR DO sqlerr();
EXEC SQL CONNECT :uid;
EXEC SQL DECLARE emp_cursor CURSOR FOR SELECT ID,USERNAME
FROM BAMBOO WHERE USERNAME IS NULL;
EXEC SQL OPEN emp_cursor;
EXEC SQL WHENEVER NOT FOUND CONTINUE;
while(true)
{
EXEC SQL FETCH emp_cursor INTO :id,:username;
if(sqlca.sqlerrd[2]==0){
break;
}
cnt=(sqlca.sqlerrd[2]%10==0)?10:sqlca.sqlerrd[2]%10;
for(int i=0;i<cnt;i++){
cout<<id[i]<<username[i]<<endl;
}
if(cnt!=10){
break;
}
}
EXEC SQL CLOSE emp_cursor;
EXEC SQL COMMIT WORK RELEASE;
return 0;
} desc bamboo;
ID USERNAME
1 bamboo
2 bamboo
3
问能否用cursor查到包括id=3的那行(用整体查,不是单个USERNAME IS NULL)
using namespace std;
#include "sqlca.h"EXEC SQL BEGIN DECLARE SECTION;
char *uid="system/oracle@swdb";
char username[10][21];
int id[10];
int v_id;
int cnt;
EXEC SQL END DECLARE SECTION;void sqlerr()
{
EXEC SQL WHENEVER SQLERROR CONTINUE;
cout << sqlca.sqlerrm.sqlerrmc<<endl;
EXEC SQL ROLLBACK WORK RELEASE;
exit(1);
}
int main()
{
EXEC SQL WHENEVER SQLERROR DO sqlerr();
EXEC SQL CONNECT :uid;
EXEC SQL DECLARE emp_cursor CURSOR FOR SELECT ID,USERNAME
FROM BAMBOO WHERE USERNAME IS NULL;
EXEC SQL OPEN emp_cursor;
EXEC SQL WHENEVER NOT FOUND CONTINUE;
while(true)
{
EXEC SQL FETCH emp_cursor INTO :id,:username;
if(sqlca.sqlerrd[2]==0){
break;
}
cnt=(sqlca.sqlerrd[2]%10==0)?10:sqlca.sqlerrd[2]%10;
for(int i=0;i<cnt;i++){
cout<<id[i]<<username[i]<<endl;
}
if(cnt!=10){
break;
}
}
EXEC SQL CLOSE emp_cursor;
EXEC SQL COMMIT WORK RELEASE;
return 0;
} desc bamboo;
ID USERNAME
1 bamboo
2 bamboo
3
问能否用cursor查到包括id=3的那行(用整体查,不是单个USERNAME IS NULL)
FROM BAMBOO WHERE USERNAME IS NULL;
DECLARE emp_cursor CURSOR FOR SELECT ID,USERNAME
FROM BAMBOO ;
DECLARE emp_cursor CURSOR FOR SELECT ID,USERNAME
FROM BAMBOO ;
不可以查出来吗?
EXEC SQL DECLARE emp_cursor CURSOR FOR SELECT ID,USERNAME
FROM BAMBOO WHERE USERNAME IS NULL or length(trim(USERNAME))=0;
FROM BAMBOO --查看到底是为NULL,还是有空格?