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

📄 database.cpp

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

int SelectCwsjz(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_cwsjz[6];
	   SQLINTEGER m_cwsjzlen;
	   memset(m_cwsjz,'\0',sizeof(m_cwsjz));
	   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_cwsjz, 6, &m_cwsjzlen);
		     while(1)
			 {
		       retcode = SQLFetch(m_baseid->hstmt);
			   if(retcode == SQL_SUCCESS)
			   {
			      sprintf(m_cwsj.cwsjz,"%s",(unsigned char*)m_cwsjz);
                  //WritePrivateProfileString(m_filename,"[STARTIME]","STARTIME",m_cwsj.cwsjz);
				  ::WritePrivateProfileString("STARTIME","STARTIME",m_cwsj.cwsjz,m_filename);
			   }
			   else{
		           sprintf(g_cwsj,"%s",m_cwsj.cwsjz);
				   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");
	   //memset(m_condition,0,sizeof(m_condition));
	   return 1;
   }
   return 1;
}

int SelectSFZDB(DatabaseID *m_baseid,char* m_fields,char* m_tablename,char* m_condition,const char* m_filename)
{
   int count=0;
   char ccount[4];
   char station[100];
   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);
	            //Writekeyprofile(m_filename,"[TollDefinition]",m_sfzz.sfzbh,m_sfzz.sfzmc);
				//Writekeyprofile(m_filename,"[WayInfo]","TOLLNAME",station);
				//Writekeyprofile(m_filename,"[WayInfo]","TOLLNUM",ccount);
				::WritePrivateProfileString("TollDefinition",m_sfzz.sfzbh,m_sfzz.sfzmc,m_filename);
				::WritePrivateProfileString("WayInfo","TOLLNAME",station,m_filename);
				::WritePrivateProfileString("WayInfo","TOLLNUM",ccount,m_filename);
			}
			else{
		           sprintf(ccount,"%d",count);
				   //Writekeyprofile(m_filename,"[WayInfo]","TOLLNUM",ccount);
				   ::WritePrivateProfileString("WayInfo","TOLLNUM",ccount,m_filename);
				   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 SelectSFYDB(DatabaseID *m_baseid,char* m_fields,char* m_tablename,char* m_condition,const char* m_filename)
{
   int count=0;
   char SfyInfo[20];
   char ccount[4];
   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 SFZBH = '%s'",m_sql,m_tablename,m_condition);
       SQLCHAR m_sfzbh[5],m_ygghz[6],m_ygzwz[11],m_ygmmz[9];
	   SQLINTEGER m_sfzbhlen,m_ygghzlen,m_ygxmzlen,m_ygxbzlen,m_ygzwzlen,m_ygmmzlen;
	   memset(m_sfzbh,'\0',sizeof(m_sfzbh));
	   memset(m_ygghz,'\0',sizeof(m_ygghz));
	   memset(m_ygmmz,'\0',sizeof(m_ygmmz));
	   memset(m_ygzwz,'\0',sizeof(m_ygzwz));
       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_ygghz, 6, &m_ygghzlen);
			retcode=SQLBindCol(m_baseid->hstmt, 4, SQL_C_CHAR, m_ygzwz, 11, &m_ygzwzlen);
			retcode=SQLBindCol(m_baseid->hstmt, 5, SQL_C_CHAR, m_ygmmz, 9, &m_ygmmzlen);
		  }
		  while(1)
		  {
		       retcode = SQLFetch(m_baseid->hstmt);
		       if(retcode == SQL_SUCCESS)
			   {
	               sprintf(m_sfyz.sfzbh,"%s",(unsigned char*)m_sfzbh);
				   sprintf(m_sfyz.ygghz,"%s",(unsigned char*)m_ygghz);
				   sprintf(m_sfyz.ygmmz,"%s",(unsigned char*)m_ygmmz);
				   if(!strcmp((const char*)m_ygzwz,"收费员"))
				       sprintf(m_sfyz.ygzwz,"%s","C");
				   else if(!strcmp((const char*)m_ygzwz,"维护员"))
					   sprintf(m_sfyz.ygzwz,"%s","S");
				   else if(!strcmp((const char*)m_ygzwz,"收费班长")||!strcmp((const char*)m_ygzwz,"班长"))
			           sprintf(m_sfyz.ygzwz,"%s","M"); 
			       else sprintf(m_sfyz.ygzwz,"%s","S");				   
				   sprintf(ccount,"%d",++count);
				   sprintf(SfyInfo,"{%s}%s%s",m_sfyz.ygghz,m_sfyz.ygmmz,m_sfyz.ygzwz); 
				   //write to ini file 
				   //Writekeyprofile(m_filename,"[info]",ccount,SfyInfo);
				   ::WritePrivateProfileString("info",ccount,SfyInfo,m_filename);
				   //DatabaseID m_base = *m_baseid;
				   //SelectSfypb(&m_base,"*","BZSFYPBB",m_sfyz.ygghz);
			   }
			   else{
		           sprintf(ccount,"%d",count);
				   //Writekeyprofile(m_filename,"[info]","Number",ccount);
				   ::WritePrivateProfileString("info","Number",ccount,m_filename);
				   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 SelectShift(DatabaseID *m_baseid,char* m_fields, char* m_tablename, char* m_condition,const char* m_filename)
{
   int count = 0;
   char ccount[2];
   char today[25];
   time_t longtime;
   time(&longtime);
   struct tm* curtime = localtime(&longtime);
   int year = curtime->tm_year+1900;
   int mon = curtime->tm_mon + 1;
   int day = curtime->tm_mday;
   int hour = curtime->tm_hour;
   int min = curtime->tm_min;
   int sec = curtime->tm_sec;
   sprintf(today,"%04d-%02d-%02d %02d:%02d:%02d",year,mon,day,hour,min,sec);
   //sprintf(today,"%02d/%02d/%04d",mon,day,year);

   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[150];
	  memset(m_sql2,'\0',sizeof(m_sql2));
	  sprintf(m_sql2,"%s* from %s where QYRQZ = (select max(qyrqz) from BZBCDMDY where qyrqz <= '%s')",m_sql,m_tablename,today);
	  SQLCHAR m_bcdmz[2],m_bcmcz[11],m_qssjz[6],m_zzsjz[6],m_qyrqz[20];

	  memset(m_bcdmz,'\0',sizeof(m_bcdmz));
      memset(m_bcmcz,'\0',sizeof(m_bcmcz));
	  memset(m_qssjz,'\0',sizeof(m_qssjz));
	  memset(m_zzsjz,'\0',sizeof(m_zzsjz));
	  memset(m_qyrqz,'\0',sizeof(m_qyrqz));

	  SQLINTEGER m_bcdmzlen, m_bcmczlen,m_qssjzlen,m_zzsjzlen,m_qyrqzlen;
	  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_qyrqz, 20, &m_qyrqzlen);
			retcode=SQLBindCol(m_baseid->hstmt, 2, SQL_C_CHAR, m_bcdmz, 2, &m_bcdmzlen);
			retcode=SQLBindCol(m_baseid->hstmt, 4, SQL_C_CHAR, m_qssjz, 6, &m_qssjzlen);
			retcode=SQLBindCol(m_baseid->hstmt, 5, SQL_C_CHAR, m_zzsjz, 6, &m_zzsjzlen);
		 }
	     while(1)
		 {
		    retcode = SQLFetch(m_baseid->hstmt);
			if(retcode == SQL_SUCCESS)
            {
			    sprintf(ccount,"%d",++count);
				sprintf(m_bcdy.bcdmz,"%s",(unsigned char*)m_bcdmz);
			    sprintf(m_bcdy.zzsjz,"%s",(unsigned char*)m_zzsjz);
				sprintf(m_bcdy.zzsjz,"%c%c%c%c",m_bcdy.zzsjz[0],m_bcdy.zzsjz[1],m_bcdy.zzsjz[3],m_bcdy.zzsjz[4]);
				m_bcdy.zzsjz[4]='\0';
			    //Writekeyprofile(m_filename,"[WinInfo]",m_bcdy.bcdmz,m_bcdy.zzsjz);
				::WritePrivateProfileString("WinInfo",m_bcdy.bcdmz,m_bcdy.zzsjz,m_filename);
			}
			else{
				if(count == 0)
					return 0;
				printf("the record fetched overed\n");
			    sprintf(ccount,"%d",count);
				sprintf(m_bcdy.qyrqz,"%s",(unsigned char*)m_qyrqz);
			    /*
				char year[5],month[2],day[2];
			    memcpy(day,m_bcdy.qyrqz+8,2);
			    day[2]='\0';
			    m_bcdy.qyrqz[8]='\0';
			    memcpy(month,m_bcdy.qyrqz+5,2);
			    month[2]='\0';
			    m_bcdy.qyrqz[5]='\0';
			    memcpy(year,m_bcdy.qyrqz,4);
			    year[4]='\0';
			    m_bcdy.qyrqz[0]='\0';
                sprintf(m_bcdy.qyrqz,"%s%s%s",year,month,day);
				*/
				char start_qyrq[20];
				sprintf(start_qyrq,"%04d%02d%02d%02d%02d%02d",year,mon,day,hour,min,sec);
				//Writekeyprofile(m_filename,"[WinInfo]","shift",ccount);
				//Writekeyprofile(m_filename,"[WinInfo]","start",m_bcdy.qyrqz);
				::WritePrivateProfileString("WinInfo","shift",ccount,m_filename);
				::WritePrivateProfileString("WinInfo","start",start_qyrq,m_filename);
				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 SelectAutho(DatabaseID *m_baseid,char* m_fields,char* m_tablename,char* m_condition,const char* m_filename)
{
   char tmp[2];
   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_sfqkz[9];
	  SQLINTEGER m_msdmz;
	  SQLINTEGER m_sfqkzlen,m_msdmzlen;
      memset(m_sfqkz,'\0',sizeof(m_sfqkz));
	  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_sfqkz,9,&m_sfqkzlen);
			retcode=SQLBindCol(m_baseid->hstmt, 2, SQL_C_ULONG, &m_msdmz, sizeof(m_msdmz), &m_msdmzlen);
		}
	    while(1)
		{	        
			retcode = SQLFetch(m_baseid->hstmt);
            if(retcode == SQL_SUCCESS)
			{
			  sprintf(m_sqms.sfqkz,"%s",m_sfqkz);
			  sprintf(tmp,"%d",(int)m_msdmz);
			  //Writekeyprofile(m_filename,"[Autho]",m_sqms.sfqkz,tmp);
			  ::WritePrivateProfileString("Autho",m_sqms.sfqkz,tmp,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;

⌨️ 快捷键说明

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