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

📄 database.cpp

📁 中间件编程,该程序用于传输客户端数据到服务器,可运行于WINDOWS2000,2003,XP,98等系统
💻 CPP
📖 第 1 页 / 共 5 页
字号:
}

int SelectZysfz(DatabaseID *m_baseid,char* m_fields,char* m_tablename,char* m_condition,const char* m_filename)
{
   SQLRETURN retcode;
   retcode = SQLAllocHandle(SQL_HANDLE_STMT,m_baseid->hdbc,&m_baseid->hstmt);
   if(retcode == SQL_SUCCESS||retcode == SQL_SUCCESS_WITH_INFO)
   {
      char m_sql1[] = "select ";
	  char m_sql2[100];
      memset(m_sql2,'\0',sizeof(m_sql2));
	  sprintf(m_sql2,"%s* from %s ",m_sql1,m_tablename);
      SQLCHAR m_sfzbh[5],m_zyrkz[5],m_ckcdh[3];
	  SQLINTEGER m_sfzbhlen,m_ckcdhlen,m_zyrkzlen;
      
	  memset(m_sfzbh,'\0',sizeof(m_sfzbh));
	  memset(m_ckcdh,'\0',sizeof(m_ckcdh));
	  memset(m_zyrkz,'\0',sizeof(m_zyrkz));

	  retcode == SQLPrepare(m_baseid->hstmt,(unsigned char *)m_sql2,strlen(m_sql2));
	  if(retcode == SQL_SUCCESS||retcode == SQL_SUCCESS_WITH_INFO)
	  {
	     retcode = SQLExecDirect(m_baseid->hstmt,(unsigned char *)m_sql2,strlen(m_sql2));
		 if(retcode == SQL_SUCCESS||retcode == SQL_SUCCESS_WITH_INFO)
		 {
		    retcode = SQLBindCol(m_baseid->hstmt, 1, SQL_C_CHAR, m_sfzbh, 5, &m_sfzbhlen);
			retcode = SQLBindCol(m_baseid->hstmt, 2, SQL_C_CHAR, m_ckcdh, 3, &m_ckcdhlen);
			retcode = SQLBindCol(m_baseid->hstmt, 3, SQL_C_CHAR, m_zyrkz, 5, &m_zyrkzlen);
		 }
         while(1)
		 {
			retcode = SQLFetch(m_baseid->hstmt);
            if(retcode == SQL_SUCCESS)
			{
			  sprintf(m_zysfz.sfzbh,"%s",(unsigned char*)m_sfzbh);
			  sprintf(m_zysfz.zyrkz,"%s",(unsigned char*)m_zyrkz);
			  sprintf(m_zysfz.ckcdh,"%s",(unsigned char*)m_ckcdh);
			  int laneno = atoi(m_zysfz.ckcdh);
			  char sLN[3];
			  sprintf(sLN,"%02d",laneno);
			  //Writekeyprofile(m_filename,"[ROADINFO]",sLN,m_zysfz.zyrkz);
			  ::WritePrivateProfileString("ROADINFO",sLN,m_zysfz.zyrkz,m_filename);
			}
			else{
			  printf("the record fetched overed\n");
	          SQLFreeHandle(SQL_HANDLE_STMT,m_baseid->hstmt);
		      return 0;
			}
		 }
	  }
	  else{
	      SQLFreeHandle(SQL_HANDLE_STMT,m_baseid->hstmt);
		  return 1;
	  }
   }
   else{
	   printf("SQL allocate handle error\n");
	   return 1;
   }
  return 1;
}

int SelectZyzhz(DatabaseID *m_baseid,char* m_fields,char* m_tablename,char* m_condition,const char* m_filename)
{
   SQLRETURN retcode;
   retcode = SQLAllocHandle(SQL_HANDLE_STMT,m_baseid->hdbc,&m_baseid->hstmt);
   if(retcode == SQL_SUCCESS||retcode == SQL_SUCCESS_WITH_INFO)
   {
      char m_sql1[] = "select ";
	  char m_sql2[100];
      memset(m_sql2,'\0',sizeof(m_sql2));
	  sprintf(m_sql2,"%s* from %s ",m_sql1,m_tablename);
      SQLCHAR m_sfzbh[5],m_zyzhz[5],m_ckcdh[3];
	  SQLINTEGER m_sfzbhlen,m_ckcdhlen,m_zyzhzlen;
      
	  memset(m_sfzbh,'\0',sizeof(m_sfzbh));
	  memset(m_ckcdh,'\0',sizeof(m_ckcdh));
	  memset(m_zyzhz,'\0',sizeof(m_zyzhz));

	  retcode == SQLPrepare(m_baseid->hstmt,(unsigned char *)m_sql2,strlen(m_sql2));
	  if(retcode == SQL_SUCCESS||retcode == SQL_SUCCESS_WITH_INFO)
	  {
	     retcode = SQLExecDirect(m_baseid->hstmt,(unsigned char *)m_sql2,strlen(m_sql2));
		 if(retcode == SQL_SUCCESS||retcode == SQL_SUCCESS_WITH_INFO)
		 {
		    retcode = SQLBindCol(m_baseid->hstmt, 1, SQL_C_CHAR, m_sfzbh, 5, &m_sfzbhlen);
			retcode = SQLBindCol(m_baseid->hstmt, 2, SQL_C_CHAR, m_ckcdh, 3, &m_ckcdhlen);
			retcode = SQLBindCol(m_baseid->hstmt, 3, SQL_C_CHAR, m_zyzhz, 5, &m_zyzhzlen);
		 }
         while(1)
		 {
			retcode = SQLFetch(m_baseid->hstmt);
            if(retcode == SQL_SUCCESS)
			{
			  sprintf(m_zyzfz.sfzbh,"%s",(unsigned char*)m_sfzbh);
			  sprintf(m_zyzfz.zyzhz,"%s",(unsigned char*)m_zyzhz);
			  sprintf(m_zyzfz.ckcdh,"%s",(unsigned char*)m_ckcdh);
			  int laneno = atoi(m_zyzfz.ckcdh);
			  char sLN[3];
			  sprintf(sLN,"%02d",laneno);
			  //Writekeyprofile(m_filename,"[RETURNINFO]",sLN,m_zyzfz.zyzhz);
			  ::WritePrivateProfileString("RETURNINFO",sLN,m_zyzfz.zyzhz,m_filename);
			}
			else{
			  printf("the record fetched overed\n");
	          SQLFreeHandle(SQL_HANDLE_STMT,m_baseid->hstmt);
		      return 0;
			}
		 }
	  }
	  else{
	      SQLFreeHandle(SQL_HANDLE_STMT,m_baseid->hstmt);
		  return 1;
	  }
   }
   else{
	   printf("SQL allocate handle error\n");
	   return 1;
   }
  return 1;
}

int SelectFLSJ(DatabaseID *m_baseid,char* m_fields,char* m_tablename,char* m_condition,const char* m_filename)
{
  SQLRETURN retcode;
  retcode = SQLAllocHandle(SQL_HANDLE_STMT,m_baseid->hdbc,&m_baseid->hstmt);
  if(retcode == SQL_SUCCESS||retcode == SQL_SUCCESS_WITH_INFO)
  {
      char m_sql[]="select ";
	  char m_sql2[100];
	  memset(m_sql2,'\0',sizeof(m_sql2));
      sprintf(m_sql2,"%s* from %s",m_sql,m_tablename);
      SQLCHAR m_qysjz[20];
      SQLINTEGER m_sfdmz;
	  SQLINTEGER m_qysjzlen,m_sfdmzlen;
	  memset(m_qysjz,'\0',sizeof(m_qysjz));
      retcode=SQLPrepare(m_baseid->hstmt,(unsigned char *)m_sql2,strlen(m_sql2));
      if(retcode == SQL_SUCCESS||retcode == SQL_SUCCESS_WITH_INFO)
	  {
	      retcode = SQLExecDirect(m_baseid->hstmt,(unsigned char *)m_sql2,strlen(m_sql2));
	      if(retcode == SQL_SUCCESS||retcode == SQL_SUCCESS_WITH_INFO)
		  {
			retcode=SQLBindCol(m_baseid->hstmt, 1, SQL_C_CHAR, m_qysjz, 20, &m_qysjzlen);
		  }
          while(1)
		  {
		    retcode = SQLFetch(m_baseid->hstmt);
		    if(retcode==SQL_SUCCESS)
			{
		     sprintf(m_sfsj.qysjz,"%s",(unsigned char*)m_qysjz);
			 char year[4],month[2],day[2],hour[2],min[2],sec[2];
			 memcpy(sec,m_sfsj.qysjz+17,2);
             sec[2]='\0';
			 m_sfsj.qysjz[17]='\0';
			 memcpy(min,m_sfsj.qysjz+14,2);
			 min[2]='\0';
			 m_sfsj.qysjz[14]='\0';
			 memcpy(hour,m_sfsj.qysjz+11,2);
			 hour[2]='\0';
			 m_sfsj.qysjz[11]='\0';
			 memcpy(day,m_sfsj.qysjz+8,2);
			 day[2]='\0';
			 m_sfsj.qysjz[8]='\0';
			 memcpy(month,m_sfsj.qysjz+5,2);
			 month[2]='\0';
			 m_sfsj.qysjz[5]='\0';
			 memcpy(year,m_sfsj.qysjz,4);
			 year[4]='\0';
			 m_sfsj.qysjz[0]='\0';
			 sprintf(m_sfsj.qysjz,"%s%s%s%s%s%s",year,month,day,hour,min,sec);
             tyear = atoi(year);
			 tmon = atoi(month);
			 tday = atoi(day);
			 thour = atoi(hour);
			 tmin = atoi(min);
			 tsec = atoi(sec);
			 //Writekeyprofile(m_filename,"[STARTIME]","STARTIME",m_sfsj.qysjz);
			 ::WritePrivateProfileString("STARTIME","STARTIME",m_sfsj.qysjz,m_filename);
			}
			else{
		     printf("the record fetched overed\n");
		     SQLFreeHandle(SQL_HANDLE_STMT, m_baseid->hstmt);
		     return 0;
			}
		  }
	  }
	  else{
	      SQLFreeHandle(SQL_HANDLE_STMT,m_baseid->hstmt);
//          memset(m_condition,0,sizeof(m_condition));
		  return 1;
	  }
  }
  else{
	   printf("SQL allocate handle error\n");
	   memset(m_condition,0,sizeof(m_condition));
	   return 1;
  }
}

int SelectFL(DatabaseID *m_baseid,char* m_fields,char* m_tablename,char* m_condition,const char* m_filename,const char* m_filename2,int flag)
{
   int count=0;
   char ccount[4];
   char station[100];
   sprintf(ThisToll,"%s",m_condition);
   SQLRETURN retcode;
   retcode = SQLAllocHandle(SQL_HANDLE_STMT,m_baseid->hdbc,&m_baseid->hstmt);
   if(retcode == SQL_SUCCESS||retcode == SQL_SUCCESS_WITH_INFO)
   {
	  char m_sql[] = "select ";
	  char m_sql2[100];
	  memset(m_sql2,'\0',sizeof(m_sql2));
      sprintf(m_sql2,"%s* from %s",m_sql,m_tablename);
	  SQLCHAR m_sfzbh[5],m_sfzmc[11],m_xhzzz[5];
	  SQLINTEGER m_sfzbhlen,m_sfzmclen,m_xhzzzlen;
      memset(m_sfzbh,'\0',sizeof(m_sfzbh));
	  memset(m_sfzmc,'\0',sizeof(m_sfzmc));
	  memset(m_xhzzz,'\0',sizeof(m_xhzzz));
      retcode=SQLPrepare(m_baseid->hstmt,(unsigned char *)m_sql2,strlen(m_sql2));
      if(retcode == SQL_SUCCESS||retcode == SQL_SUCCESS_WITH_INFO)
      {
	     retcode = SQLExecDirect(m_baseid->hstmt,(unsigned char *)m_sql2,strlen(m_sql2));
	     if(retcode == SQL_SUCCESS||retcode == SQL_SUCCESS_WITH_INFO)
		 {
			retcode=SQLBindCol(m_baseid->hstmt, 1, SQL_C_CHAR, m_sfzbh, 5, &m_sfzbhlen);
			retcode=SQLBindCol(m_baseid->hstmt, 2, SQL_C_CHAR, m_sfzmc, 11, &m_sfzmclen);
			retcode=SQLBindCol(m_baseid->hstmt, 3, SQL_C_CHAR, m_xhzzz, 5, &m_xhzzzlen);
		 }
	     while(1)
		 {
	        retcode = SQLFetch(m_baseid->hstmt);
		    if(retcode == SQL_SUCCESS)
			{
			    sprintf(m_sfzz.sfzbh,"%s",(unsigned char*)m_sfzbh);
				sprintf(m_sfzz.sfzmc,"%s",(unsigned char*)m_sfzmc);
				//sprintf(station+count*sizeof(m_sfzz.sfzbh),"%s,",m_sfzz.sfzbh);
				char tmp[6];
				sprintf(tmp,"%s,",m_sfzz.sfzbh);
				memcpy(station+count*strlen(tmp),tmp,sizeof(tmp));
				sprintf(ccount,"%d",++count);
                DatabaseID	m_tbase = *m_baseid;            
				SelectBZLJB(&m_tbase,"*","BZYZLJBZ",m_sfzz.sfzbh,m_filename,m_filename2,flag);
				/*
				Writekeyprofile(m_filename,"[TollDefinition]",m_sfzz.sfzbh,m_sfzz.sfzmc);
				Writekeyprofile(m_filename,"[WayInfo]","TOLLNAME",station);
				Writekeyprofile(m_filename,"[WayInfo]","TOLLNUM",ccount);
				*/
			}
			else{/*
		           sprintf(ccount,"%d",count);
				   Writekeyprofile(m_filename,"[WayInfo]","TOLLNUM",ccount);
				   */
				   printf("the record fetched overed\n");
		           SQLFreeHandle(SQL_HANDLE_STMT, m_baseid->hstmt);
		           return 0;
			}
		    
		 }
	  }
	  else{
	      SQLFreeHandle(SQL_HANDLE_STMT,m_baseid->hstmt);
          //memset(m_condition,0,sizeof(m_condition));
		  return 1;
	  }
   }
   else{
	   printf("SQL allocate handle error\n");
	   //memset(m_condition,0,sizeof(m_condition));
	   return 1;
   }
  return 1;
}

int SelectBZLJB(DatabaseID *m_baseid,char* m_fields,char* m_tablename,char* m_condition,const char* m_filename,const char* m_filename2,int flag)
{
   int count = 0;
   char m_entry[5];
   memset(m_entry,'\0',sizeof(m_entry));
   SQLRETURN retcode;
   retcode = SQLAllocHandle(SQL_HANDLE_STMT,m_baseid->hdbc,&m_baseid->hstmt);
   if(retcode == SQL_SUCCESS||retcode == SQL_SUCCESS_WITH_INFO)
   {
      char m_sql[]="select ";
	  char m_sql2[100];
	  memset(m_sql2,'\0',sizeof(m_sql2));
	  
      sprintf(m_sql2,"%s* from %s WHERE qszhz = '%s'",m_sql,m_tablename,m_condition);
	  
	  SQLCHAR m_dyrqz[20],m_qszhz[5],m_zzzhz[5],m_yzbhz[3],m_rkzhz[5],m_ckzhz[5];
	  SQLINTEGER m_dyrqzlen,m_qszhzlen,m_zzzhzlen,m_yzbhzlen,m_rkzhzlen,m_ckzhzlen;
	  memset(m_dyrqz,'\0',sizeof(m_dyrqz));
	  memset(m_qszhz,'\0',sizeof(m_qszhz));
	  memset(m_zzzhz,'\0',sizeof(m_zzzhz));
	  memset(m_yzbhz,'\0',sizeof(m_yzbhz));
	  memset(m_rkzhz,'\0',sizeof(m_rkzhz));
	  memset(m_ckzhz,'\0',sizeof(m_ckzhz));
      retcode = SQLPrepare(m_baseid->hstmt,(unsigned char*)m_sql2,strlen(m_sql2));
	  if(retcode == SQL_SUCCESS||retcode == SQL_SUCCESS_WITH_INFO)
	  {
	     retcode = SQLExecDirect(m_baseid->hstmt,(unsigned char*)m_sql2,strlen(m_sql2));
		 if(retcode == SQL_SUCCESS||retcode == SQL_SUCCESS_WITH_INFO)
		 {
		    retcode = SQLBindCol(m_baseid->hstmt, 1, SQL_C_CHAR, m_dyrqz, 20, &m_dyrqzlen);
		    retcode = SQLBindCol(m_baseid->hstmt, 2, SQL_C_CHAR, m_qszhz, 5, &m_qszhzlen);
		    retcode = SQLBindCol(m_baseid->hstmt, 3, SQL_C_CHAR, m_zzzhz, 5, &m_zzzhzlen);
			retcode = SQLBindCol(m_baseid->hstmt, 4, SQL_C_CHAR, m_yzbhz, 3, &m_yzbhzlen);
			retcode = SQLBindCol(m_baseid->hstmt, 5, SQL_C_CHAR, m_rkzhz, 5, &m_rkzhzlen);
			retcode = SQLBindCol(m_baseid->hstmt, 6, SQL_C_CHAR, m_ckzhz, 5, &m_ckzhzlen);
		 }
		 while(1)
		 {
		    retcode = SQLFetch(m_baseid->hstmt);
			if(retcode == SQL_SUCCESS)
			{
			   
			   
			   sprintf(m_yzljb.dyrqz,"%s",(unsigned char*)m_dyrqz);
			   sprintf(m_yzljb.qszhz,"%s",(unsigned char*)m_qszhz);
			   sprintf(m_yzljb.zzzhz,"%s",(unsigned char*)m_zzzhz);
			   sprintf(m_yzljb.yzbhz,"%02d",atoi((char*)m_yzbhz));
			   sprintf(m_yzljb.rkzhz,"%s",(unsigned char*)m_rkzhz);
			   sprintf(m_yzljb.ckzhz,"%s",(unsigned char*)m_ckzhz);
              
			   if(strcmp(m_yzljb.qszhz,m_entry))
			   {
				   total_fee1 = total_fee2 = total_fee3 = total_fee4 = total_fee5 = 0;
				   ntotal_fee1 = ntotal_fee2 = ntotal_fee3 = ntotal_fee4 = ntotal_fee5 = 0;
				   sprintf(m_entry,"%s",m_yzljb.rkzhz);
				   //if(count!=0)
			   }	   
			   DatabaseID base = *m_baseid;
			   if(!flag)
			   {
			       SelectOFLDB(&base,"*","BZSFBZDY",m_yzljb.qszhz,m_yzljb.rkzhz,m_yzljb.ckzhz,m_filename);
                   SelectNFLDB(&base,"*","BZXFLDYB",m_yzljb.qszhz,m_yzljb.rkzhz,m_yzljb.ckzhz,m_filename2);
               }
			   else SelectNFLDB(&base,"*","BZXFLDYB",m_yzljb.qszhz,m_yzljb.rkzhz,m_yzljb.ckzhz,m_filename2); 
			   count++;
			}
			else{
			   printf("the record fetched overed\n");
	           SQLFreeHandle(SQL_HANDLE_STMT, m_baseid->hstmt);
	           return 0;
			}
		 }
	  }
	  else{
	      SQLFreeHandle(SQL_HANDLE_STMT,m_baseid->hstmt);
          //memset(m_condition,0,sizeof(m_condition));
		  return 1;
	  }
   }

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -