VS中MFC连接SQL SERVER
来源:互联网 发布:推推棒淘宝店在哪里 编辑:程序博客网 时间:2024/05/22 06:26
1.新建数据库 VCTest;
2.控制面板,管理工具,数据源ODBC,系统DSN,添加,VCTest,服务器DELL-PC,使用用户登录,wei,123456,更改默认数据库为VCTest,测试数据源,确定。
3.在stdafx.h头文件中添加下面代码,路径根据实际情况即可
#import "C:\Program Files\Common Files\System\ado\msado15.dll" no_namespace rename("EOF","adoEOF")
4.单例模式
#pragma onceclass CMyDB{public: CMyDB(void); ~CMyDB(void);public: int DBConnect(); _ConnectionPtr m_pConnection; _RecordsetPtr m_pRst; static CMyDB *getInstance(); _ConnectionPtr getDBConnect();private: static CMyDB *myDBInstance;};
#include "stdafx.h"#include "MyDB.h"CMyDB::CMyDB(void){ m_pConnection=NULL;}CMyDB::~CMyDB(void){}CMyDB *CMyDB::myDBInstance=NULL;CMyDB *CMyDB::getInstance(){ if (myDBInstance==NULL) { myDBInstance=new CMyDB(); } return myDBInstance;}_ConnectionPtr CMyDB::getDBConnect(){ if (m_pConnection==NULL) { DBConnect(); } return m_pConnection;}int CMyDB::DBConnect(){ ::CoInitialize(NULL);//初始化数据库连接 HRESULT hr=NULL; try{ hr=m_pConnection.CreateInstance(_uuidof(Connection)); if (SUCCEEDED(hr)) { m_pConnection->ConnectionString=("Provider=SQLOLEDB.1;Persist Security Info=False;User ID=wei;Password=453276;Initial Catalog =VCTest; Data Source = DELL-PC"); m_pConnection->Open("","","",adConnectUnspecified); if (FAILED(hr)) { AfxMessageBox(_T("数据库连接失败")); return 0; }else{ return 1; } }else{ return 0; } }catch(_com_error e){ CString error_message; error_message.Format(TEXT("连接数据库失败 !\r\n 错误信息:%s(%ld)"),e.ErrorMessage(),e.Error()); AfxMessageBox(error_message); return 0; }}
5.操作
#pragma once#include "MyDB.h"#include "MyMSG.h"class CMessageDao{public: CMessageDao(void); ~CMessageDao(void); CList<MyMSG> *getMSG(); int deleteMSG(CString s_time); int insertMSG(CString s_time,CString s_message);private: _ConnectionPtr conn; _RecordsetPtr rst; CMyDB *myDB;};
#include "stdafx.h"#include "MessageDao.h"CMessageDao::CMessageDao(void){ //连接数据库 myDB=CMyDB::getInstance(); conn=myDB->getDBConnect(); rst=myDB->m_pRst;}CList<MyMSG> *CMessageDao::getMSG(){ CString sql; sql.Format(_T("select * from t_message")); CString s_time,s_message; rst=conn->Execute(_bstr_t(sql),NULL,adCmdText); CList<MyMSG> *msg_list=new CList<MyMSG>(); while (!rst->adoEOF) { s_time=(TCHAR *)(_bstr_t)rst->GetFields()->GetItem("time")->Value; s_message=(TCHAR *)(_bstr_t)rst->GetFields()->GetItem("message")->Value; MyMSG myMsg; myMsg.s_time=s_time.Trim(); myMsg.s_message=s_message.Trim(); msg_list->AddTail(myMsg); rst->MoveNext(); } return msg_list;}int CMessageDao::deleteMSG(CString s_time){ CString sql; sql.Format(_T("delete from t_message where time='%s'"),s_time); conn->Execute(_bstr_t(sql),NULL,adCmdText); return 1;}int CMessageDao::insertMSG(CString s_time,CString s_message){ CString sql; sql.Format(_T("insert into t_message(time,message) values('%s','%s')"),s_time,s_message); conn->Execute(_bstr_t(sql),NULL,adCmdText); return 1;}CMessageDao::~CMessageDao(void){}
1 0
- VS中MFC连接SQL SERVER
- MFC中连接SQL Server的方法
- MFC ODBC 连接sql server
- 在MFC中连接Sql Server的方法
- VS2010中MFC连接Sql Server 2012方法
- Vc++(MFC)中使用ADO 连接SQL Server的(远程)
- vs如何连接连接sql server数据库?
- vs如何连接连接sql server数据库?
- VS中MFC连接MySQL的方法
- VS中MFC连接MySQL的方法
- VS中MFC连接MySQL的方法
- MFC中连接SQL 数据库
- MFC通过ADO连接SQL SERVER数据库
- MFC ADO 连接SQL SERVER数据库
- MFC 连接SQL SERVER(ODBC方式)
- MFC使用ADO连接SQL Server数据库
- MFC使用ADO连接SQL Server
- MFC使用ADO连接SQL Server
- 【leetcode】Majority Element
- 《Linux总线、设备与驱动》USBHID设备驱动
- 原版系统安装过程gpt转换mbr
- C++中map容器的说明和使用技巧
- spark 基本方法
- VS中MFC连接SQL SERVER
- 最大收益
- 使用SchemaExport生成数据表
- javascript实现网页跳转的方法
- Java-json格式
- JVM、JRE、JDK名词解释
- 用Apache Spark进行大数据处理——第二部分:Spark SQL
- MySQL索引原理及慢查询优化
- 系统分析员考试复习笔记-2:第二章 经济管理与应用数学