⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 sqlprog.h

📁 用于数据流压缩的huffman算法原码,可用于压缩解压的源程序
💻 H
📖 第 1 页 / 共 2 页
字号:
		    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 + -