还是那个insert问题,急啊
我只插入15个字段,可以insert成功,但是如果我插入更多的,比如40个字段(我的表每条记录有102个字段),就出错,麻烦DX给看看吧,谢谢。
char* sql1=(char*)malloc(5120);
char str1[4096]="insert into coil([status],[schcode],[schdate],[sg],[coilseq],[prod],[coldcoilno],[combno],[grademk],[prdthk],[enrwth]";
char str2[200]=",[enrthk],[enrwgt],[hsmcoilwgt],[location],[COILSTUS],[REPROCESS],[NEXTMILL],[HEATNO],[LBLWGT_UP],[LBLWGT_DW],[PRDWGT_UP],[PRDWGT_DW],[ORDCODE]";
strcat(str1,str2);
char str4[200]=",[ORDSHIP],[ROLLWEEK],[ENRDATE],[SAMPLECODE],[ROLLPGM_NO],[GRADE],[PSR],[THKTOL_UP],[THKTOL_DW],[ORDTHK],[PRDWTH],[ORDWTH],[FU_04_1_U_AIM]";
strcat(str1,str4);
char str6[200]=",[FU_04_1_U_MAX],[FU_04_1_U_MIN],[FU_04_1_D_AIM],[FU_04_1_D_MAX],[FU_04_1_D_MIN]";
strcat(str1,str6);
char str3[150]=") values(0,'%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s''%s','%s','%s','%s','%s','%s'"; //20个%s
strcat(str1,str3);
char str5[120]=",'%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s')"; //20个%s
strcat(str1,str5);
sprintf(sql1,str1,schcode,schdate,sg,coilseq,prod,coldcoilno,combno,grademk,
prdthk,enrwth,enrthk,enrwgt,hsmcoilwgt,location,COILSTUS,REPROCESS,
NEXTMILL,HEATNO,LBLWGT_UP,LBLWGT_DW,PRDWGT_UP,PRDWGT_DW,ORDCODE,ORDSHIP,
ROLLWEEK,ENRDATE,SAMPLECODE,ROLLPGM_NO,GRADE,PSR,THKTOL_UP,THKTOL_DW,ORDTHK,
PRDWTH,ORDWTH,FU_04_1_U_AIM,FU_04_1_U_MAX,FU_04_1_U_MIN,FU_04_1_D_AIM,
FU_04_1_D_MAX,FU_04_1_D_MIN);
printf("sql1=%s\n",sql1);
//sprintf(sql1,"insert into coil([status],[schcode],[coldcoilno]) values(0,'%s','%s')",schcode,coldcoilno);
// sql1="insert into log(stuts,str,num)values(1,'jeah',&location)";
retcode=SQLExecDirect(hstmt1,(UCHAR FAR*)sql1, SQL_NTS);
if ( (retcode == SQL_SUCCESS) || (retcode == SQL_SUCCESS_WITH_INFO) )
{
printf("ok\n");
list[0]='A'; //如果receive程序处理成功,则标记为A
}
else
{
printf("err\n");
}
问题点数:0、回复次数:2Top
1 楼arvid_gs(west)回复于 2003-12-03 17:05:53 得分 0
看看你所有的代码?Top
2 楼wanderman(森林)回复于 2003-12-03 18:17:51 得分 0
是数据库版本的问题吧?
我以前遇到过类似问题
你用的什么数据库?Top




