VC 里头连接数据库,直接用微软自带的 ADO 也行,但想偷点懒、少踩坑,推荐你用这个封装好的第三方类,连接 AccessSQL ServerMySQL 全都行,改下连接字符串就能跑。挺适合想省事的开发者。

MySQL 的连接,用 ODBC 驱动比较稳,记得用 3.51.11 以上的版本,不然容易报错。安装完用 UDL 文件搞到连接串,像这样:

CString strConn = "Driver=MySQL ODBC 5.1 Driver;charset=Latin1;Server=192.168.1.235;Database=LeuDataLog;UID=root;PWD=root";

SQL Server 连接 就比较常规了,用 SQLOLEDB 的连接方式:

CString strConn = "Provider=SQLOLEDB;SERVER=JDSN-JTLSQLEXPRESS;DATABASE=LeuDataLog;UID=sa;PWD=sa";

Access 数据库 的写法是这样的:

CString strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=LeuHistoryInfo.mdb;Persist Security Info=False;Jet OLEDB:Database Password=123456";

上面这些都能直接塞到 CADODatabase 类里使用:

CADODatabase* pDb = new CADODatabase;
if (pDb->Open(strConn)) {
  // 数据库打开成功
}
CString pSql = "select * from 表名";
pDb->Execute(pSql);

嗯,封装得还蛮不错,调用简单,响应也快。你不用管一堆 ADO COM 对象的细节,直接调用类方法就行,调试的时候也省心。

想深入点的,可以参考几个例子:

如果你项目中数据库类型多,或者环境比较杂,这类通用封装还是挺值得一试的。