C语言连接数据库的代码.doc_第1页
C语言连接数据库的代码.doc_第2页
C语言连接数据库的代码.doc_第3页
C语言连接数据库的代码.doc_第4页
C语言连接数据库的代码.doc_第5页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

附一源码 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 failure if (!AfxWinInit(:GetModuleHandle(NULL), NULL, :GetCommandLine(), 0) / TODO: change error code to suit your needs cerr _T(Fatal Error: MFC initialization failed) endl; nRetCode = 1; /DataBase Open. if(DbOpen() cout DataBase Open Open Ok endl; else cout DataBase Open Errorn endl; return -1; while( 1 ) ret = SockInit(); /建立socket连接 if ( ret 0 ) Sleep(3000); else break; while( 1 ) if ( CkseqtmpSelect() = FALSE ) / CKSEQTMP FLAG03=0 SELECT Sleep(3000); continue; while( 1 ) / PRINTER STATUS Check prt_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-%sn, 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 ASSY 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 DATE : %s%c%c, page, strDate, CR, LF); ret = send( sid, sbuf, strlen(sbuf), 0 ); memset(sbuf, 0x00, sizeof(sbuf); / 123456789/123456789/123456789/123456789/123456789/1234567890123456789012345678901234567890 sprintf(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 7) / 8 LINE PRINT memset(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 OPEN BOOL 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 语句的目的来使用存储过程,它具有以下优点: 可以在单

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论