当前位置:文档之家› C语言连接数据库的代码

C语言连接数据库的代码

附一源码CWinApp theApp;using namespace std;CHmbAdoDBRs RfRst;CString sSql;CString seq, body, eng, tm, tl, icol, ecol, alc, bhmcdate;int i;BOOL DbOpen();BOOL CkseqtmpSelect();BOOL CkseqtmpUpdate();int PrintStatus();int SockInit();CHmbAdoDB Sqldb;int _tmain(int argc, TCHAR* argv[], TCHAR* envp[]){int cnt = 0;int nRetCode = 0;int page = 1;int prt_ret;CString strDate, strTime;// initialize MFC and print and error on failureif (!AfxWinInit(::GetModuleHandle(NULL), NULL, ::GetCommandLine(), 0)) {// TODO: change error code to suit your needscerr << _T("Fatal Error: MFC initialization failed") << endl;nRetCode = 1;}//DataBase Open...if(DbOpen()) cout << "DataBase Open Open Ok" << endl;else {cout << "DataBase Open Error\n" << endl;return -1;}while( 1 ) {ret = SockInit(); //建立socket连接if ( ret < 0 ) Sleep(3000);else break;}while( 1 ) {if ( CkseqtmpSelect() == FALSE ) { // CKSEQTMP FLAG03='0' SELECTSleep(3000);continue;}while( 1 ) { // PRINTER STATUS Checkprt_ret = PrintStatus();if ( prt_ret == 1 ) {closesocket(sid);WSACleanup();while( 1 ) {ret = SockInit();if ( ret < 0 ) Sleep(3000);else break;}break;}else {printf("Printer Status Check !!!\n");Sleep(3000);}}printf("%s-%s-%s-%s-%s-%s-%s-%s-%s\n", seq, body, eng, tm, tl, icol, ecol, alc, bhmcdate); memset(sbuf, 0x00, sizeof(sbuf));sprintf(sbuf, "%c%c1", ESC, W);ret = send( sid, sbuf, strlen(sbuf), 0 );if ( cnt == 0 || atoi(seq) < 2 ) {if ( atoi(seq) < 2 ) {cnt = 0;page = 1;memset(sbuf, 0x00, sizeof(sbuf));sprintf(sbuf, "%c%c%c", FF, CR, LF);ret = send( sid, sbuf, strlen(sbuf), 0 );}memset(sbuf, 0x00, sizeof(sbuf));sprintf(sbuf, " [ BUMPER ASS'Y WORK ORDER ]%c%c%c%c%c%c", CR, LF, CR, LF, CR, LF);ret = send( sid, sbuf, strlen(sbuf), 0 );strDate.Format("%s-%s-%s", bhmcdate.Left(4), bhmcdate.Mid(4,2), bhmcdate.Mid(6,2) );memset(sbuf, 0x00, sizeof(sbuf));sprintf(sbuf, " PAGE : %3d DA TE : %s%c%c", page, strDate, CR, LF);ret = send( sid, sbuf, strlen(sbuf), 0 );memset(sbuf, 0x00, sizeof(sbuf));//123456789/123456789/123456789/123456789/123456789/1234567890123456789012345678901 234567890sprintf(sbuf,"========================================================%c%c", CR, LF); ret = send( sid, sbuf, strlen(sbuf), 0 );memset(sbuf, 0x00, sizeof(sbuf));sprintf(sbuf, " SEQ BODY NO BUMP ECOL T/L ENG BHMCTIME%c%c%c%c", CR, LF, CR, LF);ret = send( sid, sbuf, strlen(sbuf), 0 );memset(sbuf, 0x00, sizeof(sbuf));sprintf(sbuf,"========================================================%c%c", CR, LF); ret = send( sid, sbuf, strlen(sbuf), 0 );}strTime.Format("%s:%s", bhmcdate.Mid(8,2), bhmcdate.Mid(10,2) );memset(sbuf, 0x00, sizeof(sbuf));sprintf(sbuf, " %-4.4s %-10.10s %-4.4s %-3.3s %-4.4s %-4.4s %-5.5s%c%c%c%c",seq, body, alc, ecol, tl, eng, strTime, CR, LF, CR, LF);ret = send( sid, sbuf, strlen(sbuf), 0 );memset(sbuf, 0x00, sizeof(sbuf));sprintf(sbuf, "--------------------------------------------------------%c%c", CR, LF);ret = send( sid, sbuf, strlen(sbuf), 0 );prt_ret = PrintStatus();if ( prt_ret == 1 ) {for ( i=0; i<3; i++ ) {// CKSEQTMP FLAG03 UPDA TEif ( CkseqtmpUpdate() == TRUE ) break;else Sleep(1000);}cnt = cnt + 1;if ( cnt > 7) { // 8 LINE PRINTmemset(sbuf, 0x00, sizeof(sbuf));sprintf(sbuf, "%c%c%c", FF, CR, LF);ret = send( sid, sbuf, strlen(sbuf), 0 );page = page + 1;cnt = 0;}}else {printf("Printer Status Check !!!\n");}Sleep(3000);}closesocket(sid);WSACleanup();Sqldb.Close();return nRetCode;}//////////////////////////////////////////////////////////////////////// DB OPENBOOL DbOpen(){if(Sqldb.Open("DSN=bjmodule;UID=sa;PWD=bjmodule")) { Sqldb.m_bOpen = TRUE;return TRUE;}else {return FALSE;}}/////////////////////////////////////////////////////////////////////////////// CKSEQTMP FLAG03='0' SELECT为什么数据库的sql server中有存储过程?它用来干什么的?大型数据库都有存储过程呀.存储过程就是一组批处理命令集.执行批处理呀.好处就是执行效率高呀,而且容易更改呀,不需要改变外部程序1.你知道dos下面的批处理么?功能差不多。

可以实现条件选择、命令流控制、批量或定制的处理数据、对其他开发语言提供接口,还有我最看重的一点:权限控制。

2.定义:一组具有一定功能的的SQL语句编译好的服务器存放在服务器的高速缓存中,用来执行一段重复性的任务!3.微软的解释:存储过程可以使得对数据库的管理、以及显示关于数据库及其用户信息的工作容易得多。

存储过程是SQL 语句和可选控制流语句的预编译集合,以一个名称存储并作为一个单元处理。

存储过程存储在数据库内,可由应用程序通过一个调用执行,而且允许用户声明变量、有条件执行以及其它强大的编程功能。

存储过程可包含程序流、逻辑以及对数据库的查询。

它们可以接受参数、输出参数、返回单个或多个结果集以及返回值。

可以出于任何使用SQL 语句的目的来使用存储过程,它具有以下优点:可以在单个存储过程中执行一系列SQL 语句。

相关主题