📄 sqlprog.h
字号:
connectStru[connectID].ColInfo[connectStru
[connectID].iCol].pcbColDef=80;
connectStru[connectID].ColInfo[connectStru
[connectID].iCol].pfSqlType=1;break;
case SQL_SMALLINT:
connectStru[connectID].ColInfo[connectStru
[connectID].iCol].pcbColDef=80;
connectStru[connectID].ColInfo[connectStru
[connectID].iCol].pfSqlType=0;break;
case SQL_TIME:
connectStru[connectID].ColInfo[connectStru
[connectID].iCol].pcbColDef=80;
connectStru[connectID].ColInfo[connectStru
[connectID].iCol].pfSqlType=0;break;
case SQL_TIMESTAMP:
connectStru[connectID].ColInfo[connectStru
[connectID].iCol].pcbColDef=80;
connectStru[connectID].ColInfo[connectStru
[connectID].iCol].pfSqlType=0;break;
case SQL_TINYINT:
connectStru[connectID].ColInfo[connectStru
[connectID].iCol].pcbColDef=80;
connectStru[connectID].ColInfo[connectStru
[connectID].iCol].pfSqlType=0;break;
case SQL_VARBINARY:
connectStru[connectID].ColInfo[connectStru
[connectID].iCol].pfSqlType=0;break;
case SQL_VARCHAR:
connectStru[connectID].ColInfo[connectStru
[connectID].iCol].pfSqlType=0;break;
default:
connectStru[connectID].ColInfo[connectStru
[connectID].iCol].pfSqlType=0;break;}
if(retcode!=SQL_SUCCESS) break;
connectStru[connectID].iCol++;}
connectStru[connectID].retstr=connectStru[connectID].returnstring;
*connectStru[connectID].retstr='\0';
while(TRUE) {
connectStru[connectID].retcode=
SQLFetch(connectStru[connectID].phstmt);
if(connectStru[connectID].retcode!=SQL_SUCCESS) {
if(strlen(connectStru[connectID].returnstring)>0)
*(connectStru[connectID].retstr-2)='\0';
sendsqlresult(connectID);break;}
for(connectStru[connectID].i=1;
connectStru[connectID].i<=connectStru[connectID].iCol;
connectStru[connectID].i++) {
retcode=SQLGetData(connectStru[connectID].phstmt,
connectStru[connectID].i,
connectStru[connectID].ColInfo[connectStru[connectID].i].SqlType,
connectStru[connectID].retstr,
connectStru[connectID].ColInfo[connectStru[connectID].i].pcbColDef,
&(connectStru[connectID].ColInfo[connectStru[connectID].i].len));
if(connectStru[connectID].ColInfo[connectStru[connectID].i].len!=
(unsigned long)lstrlen(connectStru[connectID].retstr))
connectStru[connectID].ColInfo[connectStru[connectID].i].len=0;
if(connectStru[connectID].ColInfo[connectStru[connectID].i].pfSqlType==1) {
connectStru[connectID].ii=0;
while(connectStru[connectID].ii<connectStru[connectID].ColInfo[connectStru[connectID].i].len) {
if(*(connectStru[connectID].retstr)!='.') {
connectStru[connectID].retstr++;
connectStru[connectID].ii++;}
else {
connectStru[connectID].jj=connectStru[connectID].
ColInfo[connectStru[connectID].i].len - connectStru[connectID].ii - 1;
while(connectStru[connectID].ii<connectStru[connectID].
ColInfo[connectStru[connectID].i].len) {
if(*(connectStru[connectID].retstr+connectStru[connectID].jj)=='0') {
connectStru[connectID].
ColInfo[connectStru[connectID].i].len--;
connectStru[connectID].jj--;}
else break;}
if(*(connectStru[connectID].retstr+
connectStru[connectID].jj)=='.') {
connectStru[connectID].
ColInfo[connectStru[connectID].i].len--;
connectStru[connectID].jj--;}
connectStru[connectID].retstr=connectStru[connectID].retstr+connectStru[connectID].jj+1;
break;}}}
else
connectStru[connectID].retstr=connectStru[connectID].retstr+connectStru[connectID].ColInfo[connectStru[connectID].i].len;
//connectStru[connectID].ulpos=
//connectStru[connectID].ulpos+
//connectStru[connectID].ColInfo[connectStru[connectID].i].len+1;
*(connectStru[connectID].retstr)='\t';
connectStru[connectID].retstr++;}
connectStru[connectID].retstr--;
*(connectStru[connectID].retstr)='\r';
connectStru[connectID].retstr++;
*(connectStru[connectID].retstr)='\n';
connectStru[connectID].retstr++;
*connectStru[connectID].retstr='\0';
if(strlen(connectStru[connectID].returnstring)>30000) {
sendsqlresult(connectID);
connectStru[connectID].retstr=
connectStru[connectID].returnstring;
*connectStru[connectID].retstr='\0';}}
retcode=SQLFreeStmt(connectStru[connectID].phstmt,SQL_DROP);
if(retcode!=SQL_SUCCESS) {makeDisconnect(connectID);return(TRUE);}
else {
retcode=SQLAllocStmt(connectStru[connectID].hdbc,
&(connectStru[connectID].phstmt));
if(retcode!=SQL_SUCCESS) {makeDisconnect(connectID);return(TRUE);}}}
//----------------------------------------------------
BOOL sqlUpdateFun(connectID,requeststring)
int connectID;
unsigned char *requeststring;
{
unsigned char *returnstring,*ptr;
RETCODE retcode;
returnstring=connectStru[connectID].returnstring;
while(TRUE) {
ptr=strchr(requeststring,';');
if(ptr==NULL) break;
*ptr='\0';
if(oneUpdate(connectID,requeststring)==FALSE) {
retcode=SQLTransact(henv,connectStru[connectID].hdbc,
SQL_ROLLBACK);
WriteHtml(connectStru[connectID].pECB,"ERROR004");
return(FALSE);}
requeststring=ptr+1;}
if(oneUpdate(connectID,requeststring)==FALSE) {
retcode=SQLTransact(henv,
connectStru[connectID].hdbc,SQL_ROLLBACK);
WriteHtml(connectStru[connectID].pECB,"ERROR004");
return(FALSE);}
retcode=SQLTransact(henv,
connectStru[connectID].hdbc,SQL_COMMIT);
if(retcode!=SQL_SUCCESS) {
WriteHtml(connectStru[connectID].pECB,"ERROR004");
return(FALSE);}
WriteHtml(connectStru[connectID].pECB,"GOOD0000");
return(TRUE);}
//----------------------------------------
UCHAR FAR * changerequest(requeststring)
UCHAR FAR * requeststring;
{
UCHAR FAR * ptr;
while((*requeststring<=' ')&&(*requeststring!='\0')) requeststring++;
ptr=requeststring;
while(TRUE) {
if(*requeststring=='\0') break;
if(*requeststring=='\t') *requeststring=' ';
requeststring++;}
return(ptr);
}
//------------------------------------------------------
BOOL oneUpdate(connectID,requeststring)
int connectID;
UCHAR FAR * requeststring;
{
RETCODE retcode;
requeststring=changerequest(requeststring);
if(strlen(requeststring)==0) return(TRUE);
// WriteHtml(connectStru[connectID].pECB,requeststring);
retcode=SQLExecDirect(connectStru[connectID].phstmt,
requeststring,SQL_NTS);
// SQLError(
// henv,
// connectStru[connectID].hdbc,
// connectStru[connectID].phstmt,
// stateerror,&dwerror,sqlerror,300,&dwerror1);
// WriteHtml(connectStru[connectID].pECB,sqlerror);
if(retcode!=SQL_SUCCESS)
return(connectStru[connectID].errorUpdate);
return(TRUE);}
//---------------------------
void sendsqlresult(int connectID) {
long len;
short i,j;
UCHAR FAR lenstr[20],lenstring[20],*ptr;
len=strlen(connectStru[connectID].returnstring);
len=compress_code(connectStru[connectID].returnstring,len);
//len=uncode_expand(connectStru[connectID].returnstring,len);
ltoa(len,lenstr,10);
ptr=&lenstring[0];
j=8 - (short)(strlen(lenstr));
for(i=0;i<j;i++) {
*ptr='0';ptr++;}
*ptr='\0';
strcat(lenstring,lenstr);
WriteHtml(connectStru[connectID].pECB,lenstring);
connectStru[connectID].returnstring[len]='\0';
WriteHtml(connectStru[connectID].pECB,
connectStru[connectID].returnstring);}
//----------------------------------
//connectStru[connectID].descptr=connectStru[connectID].sqlselectstring;
//connectStru[connectID].sourceptr=sqlselectstring;
//connectStru[connectID].i=0;
//while(connectStru[connectID].i<300) {
// if(strnicmp(connectStru[connectID].sourceptr,"from ",5)==0) {
// strcat(connectStru[connectID].descptr,"from ");
// strcat(connectStru[connectID].descptr,connectStru[connectID].dataDir);
// connectStru[connectID].sourceptr=connectStru[connectID].sourceptr+5;
// connectStru[connectID].i=connectStru[connectID].i+5;break;}
// *(connectStru[connectID].descptr)=*(connectStru[connectID].sourceptr);
// connectStru[connectID].descptr++;
// connectStru[connectID].sourceptr++;connectStru[connectID].i++;}
// if(connectStru[connectID].i==300) return(FALSE);
// while((*(connectStru[connectID].sourceptr)<=0x20)&&(connectStru[connectID].i<300)) {
// connectStru[connectID].sourceptr++;connectStru[connectID].i++;}
// strcat(connectStru[connectID].sqlselectstring,connectStru[connectID].sourceptr);
//
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -