1.Carlos Antollini编写的Ado封装类,几乎把所有的Ado操作都封装了。Ado2主要提供了CADOCommand,CADODatabase,CADOException,CADOFieldInfo,CADOParameter,CADORecordset,CJetEngine七个类接口,其中最常用的就是CADODatabase和CADORecordset 下面使用Carlos Antollini封装的ADO2类(version 2.20)对MS SQL Server数据库进行操作。 2.新建一个win32 Console Project,将Ado2.h和Ado2.cpp添加到项目中, 并且Project->Settings中选择Use MFC in a shared DLL,因为Ado2需要Afx支持。 3.测试代码如下: // testAdo2.cpp #include "Ado2.h" #include <stdio.h> void main(void) { CADODatabase* pAdoDb = new CADODatabase(); _variant_t value; CString strConnection = ""; try { strConnection = "Driver={SQL Server};Server=192.168.89.125;Address=192.168.89.125,1433;Network=dbmssocn;Database=MyDB;Uid=sa;Pwd=******"; // 注意黑体部分根据实际情况填写 pAdoDb->SetConnectionString(strConnection); if(pAdoDb->Open()) { CADORecordset* pRs = new CADORecordset(pAdoDb); CString strQry = "select * from t_users"; // SQL查询字符串 if(!pRs->Open((LPCTSTR)strQry)) // 查询失败 { delete pRs; delete pAdoDb; printf("查询失败!\n"); return; } else { printf("select username from t_users: \n"); while(!pRs->IsEOF()) { // 获取"username"字段的值 pRs->GetFieldValue("username",value); printf("%s \n",(char *)(_bstr_t)value); pRs->MoveNext(); // 移动游标 } pRs->Close(); } } } catch (_com_error & e) { AfxMessageBox(e.ErrorMessage()); } if (pAdoDb != NULL) { delete pAdoDb; } return; } 参考: 《A set of ADO classes - version 2.20 By Carlos Antollini》 http://www.codeproject.com/KB/database/caaadoclass1.aspx 《ADO连接字符串大全》 http://dev.rdxx.com/VC/VCStr/2002-9/20/040823383.shtml 《VC++ADO连接数据库》 http://blog.csdn.net/fenglin88/archive/2005/11/10/526598.aspx 《VC中使用ADO进行数据库操作》 http://blog.oracle.com.cn/?uid-189139-action-viewspace-itemid-7154 《VC中使用数据库的一个方法》 http://blog.sina.com.cn/s/blog_5784b036010005mg.html 《使用ADO封装类的数据库程序开发实例》 http://www.vckbase.com/document/viewdoc/?id=610 http://www.vckbase.com/document/viewdoc/?id=611

评论