ADO连接 SQL SERVER,VC

2025-06-22 06:17:42
推荐回答(1个)
回答1:

给你一段资料你看看是否对你有帮助!! 数据库编程思想大都是一致的:打开数据库连接-》执行SQL语句-》获得查询结果-》关闭数据库连接。不同的数据库访问技术有不同的要求,,比如用C API诘问MySql数据库的时候还得释放查询结果集。
使用MFC ODBC连接数据库详解!
ODBC 访问数据库得配置数据源。配置ODBC 数据源:打开控制面板下的”数据源“,弹出“ODBC数据源管理器”,选择DSN选项卡-》添加->你选择的你的SQL sever 选项,单击完成。如图然后你再按照向导提示添加。 代码中用ODBC访问数据库你得加上afxdb.h头文件CDataBase 类连接数据库、CRecordSet类查询记录。
现在在VC访问数据库常用的是ADO访问。以下是打开数据库连接的编程步骤:
前面说的配置ODBC数据源、导入头文件afxdb.h 是第一步 接下来才能开始进行后面的编程
1.CDataBase m_cODBCDb; //创建一个连接对象
2.用CDataBase类的OpenEx()函数打开数据库连接。OpenEx()原型为 virtual BOOL OpenEx( LPCTSTR lpszConnectString, DWORD dwOptions=0 );
参数 lpszConnectString 为连接的数据源字符串
3.定义一个与上面数据库相关的查询对象
CRecordSet m_cODBCRec(&m_cODBCDb); //用这个查询对象的open方法就可以执行SQL语句与数据库交互了;
4.m_cODBCRec.open(); 获得记录集中的值的函数GetFileValue(); 函数原型 void GetFieldValue( short nIndex, CString& strValue ); //函数功能获得CRecordSet 结果集的值 参数说明:nIndex 字段名或者是字段的索引 strValue 接收字段值
/*
*函数名称:LinkSql()
*函数功能:用MFC ODBC打开数据库连接
*参数说明:无参数
*返回值:reB 成功返回TRUE 失败返回 FALSE
*/
//该函数代码可以直接拷贝使用
BOOL CLinkSql::LinkSql()
{
/*变量说明: m_dbstr 表示连接的数据源
* m_errmsg 表示错误信息
* m_db 是自己定义的MFC CDataBase类对象
*/
BOOL reB=TRUE;
CString m_dbstr,m_errmsg;
m_dbstr.Format("DSN=%s;UID=%S;PWD=%S","test","","");// 参数说明分别为 数据库名称,用户,口令 ,"",""
try{
if(m_db.IsOpen())
m_db.Close();
m_db.OpenEx(m_dbstr,CDatabase::noOdbcDialog);//通过ODBC来打开数据库
}
catch(CDBException* e)
{
reB=FALSE;
}
return reB;
}//后面的函数都是在数据库打开连接的基础上进行的查询,删除,增加操作
如果对你有帮助请回帖!