- 论坛徽章:
- 0
|
谢谢各位, 我这里有个小例子,用 c 可以编译通过,用c++就不行了。
proc 3testproc.pc CODE=CPP 用C++编译不通过。
proc 3testproc.pc 可以通过
问题是我这里的程序是C++的,郁闷。
各位有什么好办法么?
程序如下:
#include <sqlca.h>
int main()
{
EXEC SQL BEGIN DECLARE SECTION;
VARCHAR user[20],pass[20],tnsname[20];
char C_COMPANYNAME[100];
char C_TELEPHONE[50];
char C_FAX[50];
char C_CONTACT[20];
EXEC SQL VAR C_COMPANYNAME IS STRING(100);
EXEC SQL VAR C_TELEPHONE IS STRING(50);
EXEC SQL VAR C_FAX IS STRING(50);
EXEC SQL VAR C_CONTACT IS STRING(20);
EXEC SQL END DECLARE SECTION;
char c_sql[200];
int id = 20;
strcpy(user.arr,"user");
user.len=(unsigned short)strlen((char *)user.arr);
strcpy(pass.arr,"pass");
pass.len=(unsigned short)strlen((char *)pass.arr);
strcpy(tnsname.arr,"host");
tnsname.len=(unsigned short)strlen((char *)tnsname.arr);
EXEC SQL CONNECT :user IDENTIFIED BY :pass USING :tnsname;
EXEC SQL DECLARE csr CURSOR FOR
SELECT COMPANYNAME, TELEPHONE, FAX, CONTACT FROM USER WHERE ID < :id;
EXEC SQL open csr;
EXEC SQL WHENEVER NOT FOUND DO break;
while(1) {
EXEC SQL FETCH csr INTO :C_COMPANYNAME, :C_TELEPHONE, :C_FAX, :C_CONTACT;
if( sqlca.sqlcode == 1403) {
break;
}
printf("the COMPANYNAME is %s \n",C_COMPANYNAME);
printf("the TELEPHONE is %s \n",C_TELEPHONE);
printf("the FAX is %s \n",C_FAX);
printf("the CONTACT is %s \n",C_CONTACT);
printf("==================================================\n");
}
EXEC SQL CLOSE csr;
EXEC SQL commit work release;
} |
|