#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include /*重点,大家注意*/
EXEC SQL BEGIN DECLARE SECTION;
VARCHAR username[20];
VARCHAR password[20];
varchar db_name[20];
char db_link_name[10];
EXEC SQL END DECLARE SECTION;
main(int argc,char *argv[])
{
int nMon, nDay, nYear, nHour, nMin, nSec;
char sTime[12];
char sCode[6],sBrno[6],sTelno[6]; int
i,nWrite=0,nTrcode,nRead=0,j=1;
char trxsqnb[6],trxsqns[4],balance[18];
char servno[10];
char tmpstr[100];
int commlen;
long sType;
char *sHostData;
FILE *fp;
struct tm *ts ;
time_t tnum ;
char errtmp[301],errtxt[280],errcode[5],path[51];
int errflag=2,errloop=0;
char tmp_year[5],tmp_month[3],tmp_day[3];
char *ft;
int aflag=0;
char buffer[1024];
int nflag=0,mflag=0;
char bserialno[20];
char bflag[1];
char ac_date[20];
EXEC SQL BEGIN DECLARE SECTION;
int number=0;
char name[30];
char sex[10];
char age[20];
char job[20];
int fine;
int num=0;
char date[20];
EXEC SQL END DECLARE SECTION;
time(&tnum);
ts=localtime(&tnum);
nHour=ts->tm_hour;
nMin=ts->tm_min;
nSec=ts->tm_sec;
sprintf(sTime,"%02d:%02d:%02d",nHour,nMin,nSec);
while(1)
{
/***************打开数据库**********************/
strcpy((char *)username.arr,"lxs"
;
username.len=strlen((char *)username.arr);
strcpy((char *)password.arr,"lxs"
;
password.len=strlen((char *)password.arr);
strcpy((char *)db_name.arr,"test"
;
db_name.len=strlen((char *)db_name.arr);
strcpy(db_link_name,"oracle1"
;
EXEC SQL CONNECT :username IDENTIFIED BY
assword /*AT :db_link_name*/
USING :db_name;
if (sqlca.sqlcode!=0)
{
printf("%s\n","连接数据库失败"
;
break;
}
while(1)
{
EXEC SQL insert into agent values(1,'lss','male','computer',26);
printf("sqlca.sqlcode=%d\n",sqlca.sqlcode);
if (sqlca.sqlcode!=0)
{
printf("%s\n","插入数据库出错"
;
EXEC SQL rollback work;
break;
}
EXEC SQL commit;
if (1)
break;
}
if (1)
break;
} /*while结束*/
EXEC SQL commit work release;
}
这个程序就是实现一个简单的插入功能,如果我在前面不包含头文件,就不报错,程序运行也没错,但是一旦我的程序中涉及到平方或开方这样的算术问题,又算不对,饱含以后给我报错:
Syntax error at line 220, column 1, file /usr/include/bits/mathcalls.h:
Error at line 220, column 1 in file /usr/include/bits/mathcalls.h
__MATHCALL (y1,, (_Mdouble_));
1
PCC-S-02201, Encountered the symbol "f" when expecting one of the following:
; , = ( [
Syntax error at line 220, column 1, file /usr/include/bits/mathcalls.h:
Error at line 220, column 1 in file /usr/include/bits/mathcalls.h
__MATHCALL (y1,, (_Mdouble_));
1
PCC-S-02201, Encountered the symbol "f" when expecting one of the following:
; , = ( [
以上这种类似的错很多,有谁知道这是咋回事?