亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? database.cpp

?? 中間件編程,該程序用于傳輸客戶端數(shù)據(jù)到服務(wù)器,可運行于WINDOWS2000,2003,XP,98等系統(tǒng)
?? CPP
?? 第 1 頁 / 共 5 頁
字號:
/***************************************************************
**	database.cpp: The database operation function
**
**						zhoushijie
**
**								2000/2
****************************************************************/
#include "stdafx.h"
//#include "database.h"

BindFieldInfo m_bindfieldinfo[20];
OUTRECORDS m_getrecord[1];
CBZSFBZDY m_sfbz; 
CBZSFYGXX m_sfyz;
CBZRKZBHB m_sfzz;
CBCDSQMS m_sqms;
CBZSFYPBB m_sfypb;
CBZSFZYZZ m_zysfz;
CBZSFCWSJ m_cwsj;
CBZBCDMDY m_bcdy;
CBZZYZHZZ m_zyzfz;
CBZSFSJDY m_sfsj;
CBZYZLJBZ m_yzljb;
CBZYZZPXB m_yzzxh;
CBZCLYHXX m_bzyh;
CBZKHMDXX m_bzkh;
CBZXFLDYB m_xfdy;
CBZCZYHXX m_czyh;
CCENTEMP  m_centemp;

int tyear,tmon,tday,thour,tmin,tsec;
int total_fee1,total_fee2,total_fee3,total_fee4,total_fee5;
int ntotal_fee1,ntotal_fee2,ntotal_fee3,ntotal_fee4,ntotal_fee5;
char ThisToll[5];

int shiftcount = 0;
char g_cwsj[6];
/*
**--------------------------------------------------------------------
** opendbs():open the database with the databaseID,and connetion string
** through the standar ODBC
**--------------------------------------------------------------------
*/
int OpenDBS( DatabaseID *m_baseid,ConnString m_constring)
{
	SQLRETURN  retcode;
	retcode = SQLAllocHandle(SQL_HANDLE_ENV, SQL_NULL_HANDLE, &m_baseid->henv);  
	if (retcode == SQL_SUCCESS || retcode == SQL_SUCCESS_WITH_INFO) 
	{
		retcode = SQLSetEnvAttr(m_baseid->henv, SQL_ATTR_ODBC_VERSION, (void*)SQL_OV_ODBC3, 0); 
		if (retcode == SQL_SUCCESS || retcode == SQL_SUCCESS_WITH_INFO)
		{
		   /* Allocate connection handle */
		   retcode = SQLAllocHandle(SQL_HANDLE_DBC, m_baseid->henv, &m_baseid->hdbc); 
		 if (retcode == SQL_SUCCESS || retcode == SQL_SUCCESS_WITH_INFO) 
		 {
			/* Set login timeout to 5 seconds.*/ 
			SQLSetConnectAttr(m_baseid->hdbc,5 ,(void*)SQL_LOGIN_TIMEOUT, 0);
			
			/*Connect to data source 			*/
			retcode = SQLConnect(m_baseid->hdbc, (SQLCHAR*) m_constring.m_servername, SQL_NTS,
                (SQLCHAR*) m_constring.m_uid, SQL_NTS,
                (SQLCHAR*) m_constring.m_pwd, SQL_NTS);
			if (retcode == SQL_SUCCESS || retcode == SQL_SUCCESS_WITH_INFO)
			{
				printf("the DBA opened success!\n");
				return 0;
			}
			else
			{
				printf("open DBA failed!\n");
				return 1;
			}
		 }
		 else
			 printf("Allocate connection handle failed!\n");
		}
		else
		 printf("Set the ODBC version environment attribute failed!\n");
	}
	else
		 printf("Allocate environment handle failed!\n");
	
return 1;
}

/*
--------------------------------------------------------
closedbs():close the opened database
--------------------------------------------------------
*/
void CloseDBS(DatabaseID *m_baseid)
{
	if(m_baseid->hdbc)
	{
		SQLDisconnect(m_baseid->hdbc);     
		SQLFreeHandle(SQL_HANDLE_DBC, m_baseid->hdbc); 
		SQLFreeHandle(SQL_HANDLE_ENV, m_baseid->henv);
	}
	return ;
}

/*
---------------------------------------------------------------------------
selectRecord():select fieldsinfo from m_table where condition=m_condition
---------------------------------------------------------------------------
*/
int SelectRecord(DatabaseID *m_baseid, TABLE_FIELDSINFO m_fieldsinfo, char *m_tablename,char *m_condition)
{
	SQLRETURN  retcode;
	char TempFieldVal[20];
	memset(TempFieldVal,0,sizeof(TempFieldVal));
	unsigned short j;
	if(strlen(m_tablename) <1 ) 
		return -1;
	 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[200],m_fields[101];
			memset(m_fields,0,sizeof(m_fields));
			
			/*
			----------------------------------------------
			Form the selected fields string
			----------------------------------------------
			*/
			for(j=0;j<m_fieldsinfo.fieldcount;j++)
				if(j==0)
					sprintf(m_fields,"%s",m_fieldsinfo.m_fieldinfo[j].fieldname);
				else
					sprintf(m_fields,"%s,%s",m_fields,m_fieldsinfo.m_fieldinfo[j].fieldname);
			/*
			--------------------------------------------------------
			from the select clause(with or withour where condition)
			--------------------------------------------------------
			*/
			if(strlen(m_condition) >2)
				sprintf(m_sql2,"%s  %s from %s where %s ",m_sql,m_fields,m_tablename,m_condition);
			else
				sprintf(m_sql2,"%s %s from %s",m_sql,m_fields,m_tablename);
				
			SQLINTEGER  m_outlen[20];
				
			int InfactRecNO=0;
			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)
				{
					for(j=1;j<=m_fieldsinfo.fieldcount;j++)
						{
							switch(m_fieldsinfo.m_fieldinfo[j-1].fieldtype)
							{
								case MSQL_UNKNOWN_TYPE:
									break;

								case MSQL_CHAR:
									memset(m_bindfieldinfo[j-1].m_fieldvalue1,'\0',sizeof(m_bindfieldinfo[j-1].m_fieldvalue1));
									m_bindfieldinfo[j-1].m_fieldtype=MSQL_CHAR;
									SQLBindCol(m_baseid->hstmt, j,MSQL_CHAR, m_bindfieldinfo[j-1].m_fieldvalue1,sizeof(m_fieldsinfo.m_fieldinfo[j-1].fieldsize), &m_outlen[j-1]);
									break;

								case MSQL_NUMERIC:
									break;
								case MSQL_DECIMAL:
									break;
								case MSQL_INTEGER:
									m_bindfieldinfo[j-1].m_fieldtype=MSQL_INTEGER;
									SQLBindCol(m_baseid->hstmt, j,MSQL_INTEGER, &m_bindfieldinfo[j-1].m_fieldvalue2,0, &m_outlen[j-1]);
									break;
								case MSQL_SMALLINT:
									break;
								case MSQL_FLOAT:
									break;
								case MSQL_REAL:
									m_bindfieldinfo[j-1].m_fieldtype=MSQL_REAL;
									SQLBindCol(m_baseid->hstmt, j,MSQL_REAL, &m_bindfieldinfo[j-1].m_fieldvalue3,0, &m_outlen[j-1]);
									break;
								case MSQL_DOUBLE:
									break;
								case MSQL_DATETIME:
									break;
								case MSQL_VARCHAR:
									break;
								default :
									break;
							}//end switch
						}//end for
						int m_recordover;
						char lll[5000];
						m_getrecord[0].recordscontent=lll;
						while(InfactRecNO<=MAX_OUTRES)
						{
							retcode = SQLFetch(m_baseid->hstmt);
							 m_recordover=1;
							 InfactRecNO++;
							 m_recordover=1;
							 if(retcode == SQL_SUCCESS || retcode == SQL_SUCCESS_WITH_INFO)
							 {
								for(j=0;j<m_fieldsinfo.fieldcount;j++)
								{
									if(j !=0)
										m_recordover=0;
									switch(m_bindfieldinfo[j].m_fieldtype)
									{
									case MSQL_CHAR:
										memset(TempFieldVal,0,sizeof(TempFieldVal));
										memset(TempFieldVal,32,m_fieldsinfo.m_fieldinfo[j].fieldsize+2);
										sprintf(TempFieldVal,"'%s'",m_bindfieldinfo[j].m_fieldvalue1);
										if(j==0 && InfactRecNO==1)
											sprintf(m_getrecord[0].recordscontent,"%s",TempFieldVal);
										else if(m_recordover ==0)
												sprintf(m_getrecord[0].recordscontent,"%s,%s",m_getrecord[0].recordscontent,TempFieldVal);
											 else
												sprintf(m_getrecord[0].recordscontent,"%s%s",m_getrecord[0].recordscontent,TempFieldVal);
										break;
									case MSQL_INTEGER:
										memset(TempFieldVal,0,sizeof(TempFieldVal));
										memset(TempFieldVal,32,m_fieldsinfo.m_fieldinfo[j].fieldsize);
										sprintf(TempFieldVal,"%4d",m_bindfieldinfo[j].m_fieldvalue2);
										if(j==0 && InfactRecNO==1)
											sprintf(m_getrecord[0].recordscontent,"%s",TempFieldVal);
										else
											if(m_recordover ==0)
												sprintf(m_getrecord[0].recordscontent,"%s,%s",m_getrecord[0].recordscontent,TempFieldVal);
											 else
												sprintf(m_getrecord[0].recordscontent,"%s%s",m_getrecord[0].recordscontent,TempFieldVal);
										break;
									case MSQL_REAL:
										memset(TempFieldVal,0,sizeof(TempFieldVal));
										memset(TempFieldVal,32,m_fieldsinfo.m_fieldinfo[j].fieldsize);
										sprintf(TempFieldVal,"%4f",m_bindfieldinfo[j].m_fieldvalue3);
										if(j==0  && InfactRecNO==1)
											sprintf(m_getrecord[0].recordscontent,"%s",TempFieldVal);
										else
										if(m_recordover ==0)
												sprintf(m_getrecord[0].recordscontent,"%s,%s",m_getrecord[0].recordscontent,TempFieldVal);
											 else
												sprintf(m_getrecord[0].recordscontent,"%s%s",m_getrecord[0].recordscontent,TempFieldVal);
										break;
									default :
										printf("not find a fit of the field data_type\n");
										break;
									}
									m_recordover=1;
								}
								
							
							 }
							else 
							{
								printf("the record fetched overed\n");
								SQLFreeHandle(SQL_HANDLE_STMT, m_baseid->hstmt);
								m_getrecord[0].totalcount=InfactRecNO -1;
								
								m_getrecord[0].recordlen=strlen(m_getrecord[0].recordscontent)/m_getrecord[0].totalcount;
								
								return 0;
							}
						}
						
					}
				}
				printf("select not success\n");
				SQLFreeHandle(SQL_HANDLE_STMT, m_baseid->hstmt);
			}
	return 1;	
}
/*
-----------------------------------------------------------------------
SelectSQL():select m_fileds from m_tablename where conditon=m_condition
-----------------------------------------------------------------------
*/
int SelectSQL(DatabaseID *m_baseid,char *m_fields,char * m_tablename,char m_condition[])
{
	SQLRETURN  retcode;
	int j;
	if(strlen(m_tablename) <1 ||strlen(m_fields)<1) 
		return -1;
	 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));
				if(strlen(m_condition) >3)
					sprintf(m_sql2,"%s  %s from %s where rksjz=(select max(rksjz) from cdrkcljl where pkhmz ='%s') ",m_sql,m_fields,m_tablename,m_condition);
				else
				{
					SQLFreeHandle(SQL_HANDLE_STMT, m_baseid->hstmt);
					memset(m_condition,0,sizeof(m_condition));
					return 1;
				}
				SQLCHAR     m_rkzbh[5],m_rksjz[20],m_cxdmz[2],m_cldmz[2],m_pkdmz[2];
				memset(m_rkzbh,0,sizeof(m_rkzbh));
				memset(m_rksjz,0,sizeof(m_rkzbh));
				memset(m_cxdmz,0,sizeof(m_rkzbh));
				memset(m_cldmz,0,sizeof(m_rkzbh));
				memset(m_pkdmz,0,sizeof(m_rkzbh));
				SQLINTEGER   m_rkzbhlen,m_rksjzlen,m_cxdmzlen,m_cldmzlen,m_pkdmzlen;
				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_rkzbh, 5, &m_rkzbhlen);
						retcode=SQLBindCol(m_baseid->hstmt, 2, SQL_C_CHAR, m_rksjz, 20, &m_rksjzlen);
						retcode=SQLBindCol(m_baseid->hstmt, 3, SQL_C_CHAR, m_cxdmz, 2, &m_cxdmzlen);
						retcode=SQLBindCol(m_baseid->hstmt, 4, SQL_C_CHAR, m_cldmz, 2, &m_cldmzlen);
						retcode=SQLBindCol(m_baseid->hstmt, 5, SQL_C_CHAR, m_pkdmz, 2, &m_pkdmzlen);
						for(j=1;j<2;j++)
						{
							 retcode = SQLFetch(m_baseid->hstmt);
							 
							 if (retcode == SQL_SUCCESS || SQL_SUCCESS_WITH_INFO ) 
							 {
								 memset(m_condition,0,sizeof(m_condition));
								 if(strlen((char *)m_rkzbh)>1)
									sprintf(m_condition,"0%4s%20s%1s%1s%1s",m_rkzbh,m_rksjz,m_cxdmz,m_cldmz,m_pkdmz);
								 else
									sprintf(m_condition,"1");
								SQLFreeHandle(SQL_HANDLE_STMT, m_baseid->hstmt);
								return 0;
							 }
							 else if(retcode ==SQL_ERROR)
							 {
								SQLFreeHandle(SQL_HANDLE_STMT, m_baseid->hstmt);
								memset(m_condition,0,sizeof(m_condition));
								return 1;	
							 }
							 else
							 {
								printf("the record fetched overed\n");
								memset(m_condition,0,sizeof(m_condition));
								 sprintf(m_condition,"1");
								SQLFreeHandle(SQL_HANDLE_STMT, m_baseid->hstmt);
								return 0;
							 }
						}
					
					}
				}
				printf("select not success\n");
				SQLFreeHandle(SQL_HANDLE_STMT, m_baseid->hstmt);
			}
memset(m_condition,0,sizeof(m_condition));
return 1;
}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲一区视频在线| 中文字幕高清不卡| 亚洲第一搞黄网站| 欧美日韩一区二区三区在线看| 亚洲伊人伊色伊影伊综合网| 欧美专区日韩专区| 日韩精品久久理论片| 精品国产麻豆免费人成网站| 国产精品性做久久久久久| 欧美韩国日本综合| 日本大香伊一区二区三区| 亚洲成年人影院| 日韩欧美的一区二区| 国产精品 欧美精品| 亚洲三级在线播放| 欧美日韩专区在线| 激情五月婷婷综合| **性色生活片久久毛片| 欧美调教femdomvk| 国内精品伊人久久久久影院对白| 中文字幕电影一区| 欧美女孩性生活视频| 国产乱子伦视频一区二区三区| 亚洲婷婷综合色高清在线| 制服丝袜中文字幕亚洲| 国产激情视频一区二区在线观看| 国产精品福利影院| 欧美一区二区三区在线视频| 成人免费三级在线| 日韩高清一区在线| 国产精品毛片大码女人| 欧美日韩国产影片| 国产不卡视频在线观看| 日韩制服丝袜av| 国产精品女上位| 日韩你懂的在线播放| av成人免费在线| 麻豆传媒一区二区三区| 亚洲伦在线观看| 精品国一区二区三区| 91老师国产黑色丝袜在线| 精品系列免费在线观看| 亚洲制服丝袜av| 国产视频在线观看一区二区三区| 欧美日本在线播放| www.欧美色图| 国产主播一区二区三区| 午夜精品福利一区二区三区蜜桃| 中文字幕免费观看一区| 91精品综合久久久久久| 91视频在线看| 成人午夜视频免费看| 男男成人高潮片免费网站| 成人欧美一区二区三区| 久久影院午夜论| 日韩午夜三级在线| 欧美精品一级二级三级| 色94色欧美sute亚洲线路二| 不卡的电影网站| 国产在线精品一区在线观看麻豆| 亚洲成人一二三| 一区二区三区欧美日| 国产精品剧情在线亚洲| 国产亚洲精品免费| 久久综合色8888| 欧美精品一区二区在线观看| 日韩欧美国产一区二区三区| 欧美日韩大陆一区二区| 欧美日韩免费一区二区三区| 欧美中文字幕久久| 欧美在线|欧美| 在线观看免费亚洲| 在线亚洲精品福利网址导航| 91免费精品国自产拍在线不卡| 成人黄页毛片网站| 成人免费观看男女羞羞视频| 国产盗摄精品一区二区三区在线| 国产乱子伦视频一区二区三区| 激情小说亚洲一区| 国精产品一区一区三区mba桃花| 免费成人在线观看视频| 免费成人美女在线观看.| 免费在线观看日韩欧美| 免费在线看一区| 狠狠色综合播放一区二区| 精品一区二区三区在线观看 | 奇米精品一区二区三区在线观看| 午夜精品一区二区三区免费视频| 亚洲一区二区三区四区的| 亚洲成av人**亚洲成av**| 无吗不卡中文字幕| 久久精品国产精品亚洲红杏| 九九精品一区二区| 丁香天五香天堂综合| 91浏览器打开| 欧美一区二视频| 2022国产精品视频| 欧美韩日一区二区三区四区| 亚洲欧美日韩中文字幕一区二区三区| 一区二区在线电影| 免费看日韩精品| 国产成人自拍高清视频在线免费播放| 成人精品在线视频观看| 欧美综合色免费| 欧美大尺度电影在线| 国产亚洲精品aa午夜观看| 中文字幕一区二区三区不卡在线| 亚洲一区在线视频观看| 久久av资源网| 成人国产在线观看| 欧美日韩国产美| 国产色91在线| 亚洲一区二区在线视频| 韩国毛片一区二区三区| av一区二区三区四区| 欧美日高清视频| 日本一区二区三区高清不卡| 亚洲永久免费av| 国产一区二区三区精品视频| 99久久精品久久久久久清纯| 91精品福利在线一区二区三区| 国产色综合久久| 日韩精品免费专区| 成人av在线网站| 欧美一区二区三区电影| 国产精品丝袜在线| 日韩国产欧美在线播放| av资源站一区| 日韩三区在线观看| 亚洲精品中文字幕乱码三区| 久久国产精品99久久人人澡| 97久久精品人人做人人爽| 欧美一区二区观看视频| 亚洲视频一区在线观看| 精品制服美女久久| 欧美综合亚洲图片综合区| 国产三区在线成人av| 免费亚洲电影在线| 日本精品视频一区二区| 日本一区二区三区国色天香| 日韩精品免费专区| 欧美在线观看视频在线| 国产精品久久久久aaaa樱花 | 日韩欧美一二三区| 亚洲欧美日韩在线| 成人黄色片在线观看| 久久综合成人精品亚洲另类欧美| 偷拍一区二区三区四区| 成人午夜大片免费观看| 日韩欧美你懂的| 日韩电影一区二区三区| 精品视频在线视频| 亚洲精品美腿丝袜| 91免费看`日韩一区二区| 中文字幕高清一区| 国产精品99久久不卡二区| 日韩一区和二区| 天堂成人国产精品一区| 欧美丝袜丝nylons| 亚洲一线二线三线视频| 色婷婷国产精品| 亚洲综合色在线| 在线日韩国产精品| 一区二区三区高清| 日本久久电影网| 亚洲一区二区免费视频| 欧美性猛交xxxx黑人交| 亚洲一区二区三区自拍| 欧美日韩国产综合视频在线观看| 亚洲午夜电影网| 欧美高清视频www夜色资源网| 亚洲国产美女搞黄色| 欧美区视频在线观看| 日韩高清欧美激情| 日韩一区二区精品在线观看| 免费人成精品欧美精品| 日韩视频一区二区三区在线播放 | 在线看不卡av| 亚洲国产欧美在线| 51精品久久久久久久蜜臀| 蜜臀av亚洲一区中文字幕| 26uuu色噜噜精品一区| 国产精品综合久久| 国产精品国产精品国产专区不片| 91麻豆精品秘密| 亚洲综合一二区| 欧美一区二区日韩一区二区| 另类小说色综合网站| 欧美激情一区不卡| 色偷偷久久人人79超碰人人澡| 亚洲成人黄色小说| 日韩视频在线永久播放| 国产精品白丝jk黑袜喷水| 亚洲色图制服诱惑| 在线观看91av| 国产成人自拍高清视频在线免费播放| 亚洲欧洲在线观看av| 欧美巨大另类极品videosbest| 精品一区二区三区免费毛片爱| 欧美极品美女视频|