📄 database.cpp
字号:
else{
printf("SQL allocate handle error\n");
//memset(m_condition,0,sizeof(m_condition));
return 1;
}
return 1;
}
int SelectOFLDB(DatabaseID *m_baseid,char* m_fields,char* m_tablename,char* rkzh,char* ljrk,char* ljck,const char* m_filename)
{
char svm[3];
memset(svm,'\0',sizeof(svm));
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 CKZBH = '%s' AND RKZBH = '%s'",m_sql,m_tablename,ljck,ljrk);
SQLCHAR m_qysjz[20],m_ckzbh[5],m_rkzbh[5],m_cxdmz[2];
SQLINTEGER m_sfjez,m_sfdmz;
SQLINTEGER m_qysjzlen,m_rkzbhlen,m_cxdmzlen,m_sfjezlen,m_sfdmzlen;
char m_bzfl[5];
memset(m_qysjz,'\0',sizeof(m_qysjz));
memset(m_ckzbh,'\0',sizeof(m_rkzbh));
memset(m_cxdmz,'\0',sizeof(m_cxdmz));
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);
// retcode=SQLBindCol(m_baseid->hstmt, 2, SQL_C_CHAR, m_ckzbh, 20, &m_rkzbhlen);
retcode=SQLBindCol(m_baseid->hstmt, 3, SQL_C_CHAR, m_rkzbh, 5, &m_rkzbhlen);
retcode=SQLBindCol(m_baseid->hstmt, 4, SQL_C_CHAR, m_cxdmz, 2, &m_cxdmzlen);
retcode=SQLBindCol(m_baseid->hstmt, 5, SQL_C_ULONG, &m_sfjez, sizeof(m_sfjez), &m_sfjezlen);
retcode=SQLBindCol(m_baseid->hstmt, 6, SQL_C_ULONG, &m_sfdmz, sizeof(m_sfdmz), &m_sfdmzlen);
}
retcode = SQLFetch(m_baseid->hstmt);
while(retcode == SQL_SUCCESS)
{
sprintf(m_sfbz.qysjz,"%s",(unsigned char*)m_qysjz);
char year[4],month[2],day[2],hour[2],min[2],sec[2];
memcpy(sec,m_sfbz.qysjz+17,2);
sec[2]='\0';
m_sfbz.qysjz[17]='\0';
memcpy(min,m_sfbz.qysjz+14,2);
min[2]='\0';
m_sfbz.qysjz[14]='\0';
memcpy(hour,m_sfbz.qysjz+11,2);
hour[2]='\0';
m_sfbz.qysjz[11]='\0';
memcpy(day,m_sfbz.qysjz+8,2);
day[2]='\0';
m_sfbz.qysjz[8]='\0';
memcpy(month,m_sfbz.qysjz+5,2);
month[2]='\0';
m_sfbz.qysjz[5]='\0';
memcpy(year,m_sfbz.qysjz,4);
year[4]='\0';
m_sfbz.qysjz[0]='\0';
// sprintf(m_sfbz.qysjz,"%s%s%s%s%s%s",year,month,day,hour,min,sec);
// Writekeyprofile(m_filename,"[STARTIME]","STARTIME",m_sfbz.qysjz);
if((tyear==atoi(year))&&(tmon==atoi(month))&&(tday==atoi(day))&&(thour==atoi(hour))&&(tmin==atoi(min))&&(tsec==atoi(sec)))
{
sprintf(m_sfbz.rkzbh,"%s",rkzh);
//m_sfbz.rkzbh[5]='\0';
sprintf(m_sfbz.cxdmz,"%s",(unsigned char*)m_cxdmz);
if(!strcmp(m_sfbz.cxdmz,"1"))
total_fee1 += (int)m_sfjez;
if(!strcmp(m_sfbz.cxdmz,"2"))
total_fee2 += (int)m_sfjez;
if(!strcmp(m_sfbz.cxdmz,"3"))
total_fee3 += (int)m_sfjez;
if(!strcmp(m_sfbz.cxdmz,"4"))
total_fee4 += (int)m_sfjez;
if(!strcmp(m_sfbz.cxdmz,"5"))
total_fee5 += (int)m_sfjez;
if(!strcmp(ThisToll,ljck))
{
char m_fee1[5],m_fee2[5],m_fee3[5],m_fee4[5],m_fee5[5];
sprintf(m_fee1,"%04d",total_fee1);
sprintf(m_fee2,"%04d",total_fee2);
sprintf(m_fee3,"%04d",total_fee3);
sprintf(m_fee4,"%04d",total_fee4);
sprintf(m_fee5,"%04d",total_fee5);
if(!strcmp(m_sfbz.cxdmz,"1"))
//Writekeyprofile(m_filename,m_sfbz.rkzbh,m_sfbz.cxdmz,m_fee1);
::WritePrivateProfileString(m_sfbz.rkzbh,m_sfbz.cxdmz,m_fee1,m_filename);
if(!strcmp(m_sfbz.cxdmz,"2"))
//Writekeyprofile(m_filename,m_sfbz.rkzbh,m_sfbz.cxdmz,m_fee2);
::WritePrivateProfileString(m_sfbz.rkzbh,m_sfbz.cxdmz,m_fee2,m_filename);
if(!strcmp(m_sfbz.cxdmz,"3"))
//Writekeyprofile(m_filename,m_sfbz.rkzbh,m_sfbz.cxdmz,m_fee3);
::WritePrivateProfileString(m_sfbz.rkzbh,m_sfbz.cxdmz,m_fee3,m_filename);
if(!strcmp(m_sfbz.cxdmz,"4"))
//Writekeyprofile(m_filename,m_sfbz.rkzbh,m_sfbz.cxdmz,m_fee4);
::WritePrivateProfileString(m_sfbz.rkzbh,m_sfbz.cxdmz,m_fee4,m_filename);
if(!strcmp(m_sfbz.cxdmz,"5"))
//Writekeyprofile(m_filename,m_sfbz.rkzbh,m_sfbz.cxdmz,m_fee5);
::WritePrivateProfileString(m_sfbz.rkzbh,m_sfbz.cxdmz,m_fee5,m_filename);
char serial[3];
sprintf(serial,"%d",(int)m_sfdmz);
//Writekeyprofile(m_filename,"[STARTIME]","SERIAL",serial);
::WritePrivateProfileString("STARTIME","SERIAL",serial,m_filename);
}
retcode = SQLFetch(m_baseid->hstmt);
}
else{
sprintf(m_bzfl,"%04d",(int)m_sfjez);
//Writekeyprofile(m_filename,m_sfbz.rkzbh,m_sfbz.cxdmz,m_bzfl);
retcode = SQLFetch(m_baseid->hstmt);
}
}
printf("the record fetched overed\n");
SQLFreeHandle(SQL_HANDLE_STMT, m_baseid->hstmt);
//memset(m_condition,0,sizeof(m_condition));
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 SelectNFLDB(DatabaseID *m_baseid,char* m_fields,char* m_tablename,char* rkzh,char* ljrk,char* ljck,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 where CKZBH = '%s' AND RKZBH = '%s'",m_sql,m_tablename,ljck,ljrk);
SQLCHAR m_qysjz[20],m_ckzbh[5],m_rkzbh[5],m_cxdmz[2];
SQLINTEGER m_sfjez,m_sfdmz;
SQLINTEGER m_qysjzlen,m_rkzbhlen,m_cxdmzlen,m_sfjezlen,m_sfdmzlen;
char m_bzfl[5];
memset(m_qysjz,'\0',sizeof(m_qysjz));
memset(m_ckzbh,'\0',sizeof(m_rkzbh));
memset(m_cxdmz,'\0',sizeof(m_cxdmz));
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);
// retcode=SQLBindCol(m_baseid->hstmt, 2, SQL_C_CHAR, m_ckzbh, 20, &m_rkzbhlen);
retcode=SQLBindCol(m_baseid->hstmt, 3, SQL_C_CHAR, m_rkzbh, 5, &m_rkzbhlen);
retcode=SQLBindCol(m_baseid->hstmt, 4, SQL_C_CHAR, m_cxdmz, 2, &m_cxdmzlen);
retcode=SQLBindCol(m_baseid->hstmt, 5, SQL_C_ULONG, &m_sfjez, sizeof(m_sfjez), &m_sfjezlen);
retcode=SQLBindCol(m_baseid->hstmt, 6, SQL_C_ULONG, &m_sfdmz, sizeof(m_sfdmz), &m_sfdmzlen);
}
retcode = SQLFetch(m_baseid->hstmt);
if(retcode == SQL_SUCCESS)
{
sprintf(m_sfbz.qysjz,"%s",(unsigned char*)m_qysjz);
char year[5],month[2],day[2],hour[2],min[2],sec[2];
memcpy(sec,m_sfbz.qysjz+17,2);
sec[2]='\0';
m_sfbz.qysjz[17]='\0';
memcpy(min,m_sfbz.qysjz+14,2);
min[2]='\0';
m_sfbz.qysjz[14]='\0';
memcpy(hour,m_sfbz.qysjz+11,2);
hour[2]='\0';
m_sfbz.qysjz[11]='\0';
memcpy(day,m_sfbz.qysjz+8,2);
day[2]='\0';
m_sfbz.qysjz[8]='\0';
memcpy(month,m_sfbz.qysjz+5,2);
month[2]='\0';
m_sfbz.qysjz[5]='\0';
memcpy(year,m_sfbz.qysjz,4);
year[4]='\0';
m_sfbz.qysjz[0]='\0';
sprintf(m_sfbz.qysjz,"%s%s%s%s%s%s",year,month,day,hour,min,sec);
m_sfbz.sfdmz = (int)m_sfdmz;
char serial[3];
sprintf(serial,"%d",m_sfbz.sfdmz);
//Writekeyprofile(m_filename,"[STARTIME]","STARTIME",m_sfbz.qysjz);
//Writekeyprofile(m_filename,"[STARTIME]","SERIAL",serial);
::WritePrivateProfileString("STARTIME","STARTIME",m_sfbz.qysjz,m_filename);
::WritePrivateProfileString("STARTIME","SERIAL",serial,m_filename);
}
while(retcode == SQL_SUCCESS)
{
sprintf(m_sfbz.rkzbh,"%s",(char*)rkzh);
//m_sfbz.rkzbh[5]='\0';
sprintf(m_sfbz.cxdmz,"%s",(unsigned char*)m_cxdmz);
sprintf(m_bzfl,"%04d",(int)m_sfjez);
// Writekeyprofile(m_filename,m_sfbz.rkzbh,m_sfbz.cxdmz,m_bzfl);
sprintf(m_sfbz.rkzbh,"%s",rkzh);
//m_sfbz.rkzbh[5]='\0';
sprintf(m_sfbz.cxdmz,"%s",(unsigned char*)m_cxdmz);
if(!strcmp(m_sfbz.cxdmz,"1"))
ntotal_fee1 += (int)m_sfjez;
if(!strcmp(m_sfbz.cxdmz,"2"))
ntotal_fee2 += (int)m_sfjez;
if(!strcmp(m_sfbz.cxdmz,"3"))
ntotal_fee3 += (int)m_sfjez;
if(!strcmp(m_sfbz.cxdmz,"4"))
ntotal_fee4 += (int)m_sfjez;
if(!strcmp(m_sfbz.cxdmz,"5"))
ntotal_fee5 += (int)m_sfjez;
if(!strcmp(ThisToll,ljck))
{
char m_fee1[5],m_fee2[5],m_fee3[5],m_fee4[5],m_fee5[5];
sprintf(m_fee1,"%04d",ntotal_fee1);
sprintf(m_fee2,"%04d",ntotal_fee2);
sprintf(m_fee3,"%04d",ntotal_fee3);
sprintf(m_fee4,"%04d",ntotal_fee4);
sprintf(m_fee5,"%04d",ntotal_fee5);
if(!strcmp(m_sfbz.cxdmz,"1"))
//Writekeyprofile(m_filename,m_sfbz.rkzbh,m_sfbz.cxdmz,m_fee1);
::WritePrivateProfileString(m_sfbz.rkzbh,m_sfbz.cxdmz,m_fee1,m_filename);
if(!strcmp(m_sfbz.cxdmz,"2"))
//Writekeyprofile(m_filename,m_sfbz.rkzbh,m_sfbz.cxdmz,m_fee2);
::WritePrivateProfileString(m_sfbz.rkzbh,m_sfbz.cxdmz,m_fee2,m_filename);
if(!strcmp(m_sfbz.cxdmz,"3"))
//Writekeyprofile(m_filename,m_sfbz.rkzbh,m_sfbz.cxdmz,m_fee3);
::WritePrivateProfileString(m_sfbz.rkzbh,m_sfbz.cxdmz,m_fee3,m_filename);
if(!strcmp(m_sfbz.cxdmz,"4"))
//Writekeyprofile(m_filename,m_sfbz.rkzbh,m_sfbz.cxdmz,m_fee4);
::WritePrivateProfileString(m_sfbz.rkzbh,m_sfbz.cxdmz,m_fee4,m_filename);
if(!strcmp(m_sfbz.cxdmz,"5"))
//Writekeyprofile(m_filename,m_sfbz.rkzbh,m_sfbz.cxdmz,m_fee5);
::WritePrivateProfileString(m_sfbz.rkzbh,m_sfbz.cxdmz,m_fee5,m_filename);
}
retcode = SQLFetch(m_baseid->hstmt);
//Sleep(100);
}
printf("the record fetched overed\n");
SQLFreeHandle(SQL_HANDLE_STMT, m_baseid->hstmt);
//memset(m_condition,0,sizeof(m_condition));
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 SelectOWN(DatabaseID *m_baseid,char* m_fields,char* m_tablename,char* m_condition,const char* m_filename)
{
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 zzzhz = '%s' order by qszhz",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))
{
if(count!=0)
{
char t_count[3];
char t_sec[6];
sprintf(t_sec,"%s",m_entry);
sprintf(t_count,"%d",count);
//Writekeyprofile(m_filename,t_sec,"NUMBER",t_count);
::WritePrivateProfileString(t_sec,"NUMBER",t_count,m_filename);
count = 0;
}
sprintf(m_entry,"%s",m_yzljb.qszhz);
}
count++;
char m_count[3],section[7],value[8];
sprintf(section,"%s",m_yzljb.qszhz);
sprintf(m_count,"%d",count);
sprintf(value,"%s,%s",m_yzljb.yzbhz,m_yzljb.ckzhz);
//Writekeyprofile(m_filename,section,m_count,value);
::WritePrivateProfileString(section,m_count,value,m_filename);
}
else{
char number[3],m_sec[6];
sprintf(m_sec,"%s",m_yzljb.rkzhz);
sprintf(number,"%d",count);
//Writekeyprofile(m_filename,m_sec,"NUMBER",number);
::WritePrivateProfileString(m_sec,"NUMBER",number,m_filename);
printf("the record
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -