本人初学数据库,所以很多东西都不懂,在csdn上找了一些代码
这个链接http://blog.csdn.net/wanshi131/article/details/1758790
然后呢我在
WM_INITDIALOG中执行了ODBCConnect()函数
函数体如下
BOOL ODBCConnect(CString strDBFile)
{
CString strConnect;
strConnect.Format(_T("ODBC;DRIVER={MICROSOFT ACCESS DRIVER (*.mdb)};UID=sa;PWD=;DBQ=%s"), strDBFile); CDatabase db;
if(db.Open(NULL, FALSE, FALSE, strConnect))
{
//连接数据库成功
CRecordset rs(&db);
CString strSql;
strSql = _T("select * from info"); //SQL语句
rs.Open(AFX_DB_USE_DEFAULT_TYPE, strSql); //执行Sql语句(可添加 删除 查询等)
if(rs.IsOpen())
{
CDBVariant variant;
rs.MoveFirst();
while(!rs.IsEOF())
{
//读取记录
rs.GetFieldValue(_T("姓名"), variant); rs.MoveNext();
}
} db.Close();
return TRUE;
} return FALSE;
}
编译0错误,1警告warning C4146: unary minus operator applied to unsigned type, result still unsigned
运行程序就出现XXX.EXE已经停止工作
问题事件名称: APPCRASH
应用程序名: XXX.exe
应用程序版本: 0.0.0.0
应用程序时间戳: 5213357c
故障模块名称: KERNELBASE.dll
故障模块版本: 6.1.7600.17206
故障模块时间戳: 50e6605e
异常代码: e06d7363
异常偏移: 0000c41f
OS 版本: 6.1.7600.2.0.0.256.1
区域设置 ID: 2052
其他信息 1: 0a9e
其他信息 2: 0a9e372d3b4ad19135b953a78882e789
其他信息 3: 0a9e
其他信息 4: 0a9e372d3b4ad19135b953a78882e789
请问我哪里出错了吗?顺便问下,数据库链接用api方便还是mfc方便数据库odbcwindows编程vc
这个链接http://blog.csdn.net/wanshi131/article/details/1758790
然后呢我在
WM_INITDIALOG中执行了ODBCConnect()函数
函数体如下
BOOL ODBCConnect(CString strDBFile)
{
CString strConnect;
strConnect.Format(_T("ODBC;DRIVER={MICROSOFT ACCESS DRIVER (*.mdb)};UID=sa;PWD=;DBQ=%s"), strDBFile); CDatabase db;
if(db.Open(NULL, FALSE, FALSE, strConnect))
{
//连接数据库成功
CRecordset rs(&db);
CString strSql;
strSql = _T("select * from info"); //SQL语句
rs.Open(AFX_DB_USE_DEFAULT_TYPE, strSql); //执行Sql语句(可添加 删除 查询等)
if(rs.IsOpen())
{
CDBVariant variant;
rs.MoveFirst();
while(!rs.IsEOF())
{
//读取记录
rs.GetFieldValue(_T("姓名"), variant); rs.MoveNext();
}
} db.Close();
return TRUE;
} return FALSE;
}
编译0错误,1警告warning C4146: unary minus operator applied to unsigned type, result still unsigned
运行程序就出现XXX.EXE已经停止工作
问题事件名称: APPCRASH
应用程序名: XXX.exe
应用程序版本: 0.0.0.0
应用程序时间戳: 5213357c
故障模块名称: KERNELBASE.dll
故障模块版本: 6.1.7600.17206
故障模块时间戳: 50e6605e
异常代码: e06d7363
异常偏移: 0000c41f
OS 版本: 6.1.7600.2.0.0.256.1
区域设置 ID: 2052
其他信息 1: 0a9e
其他信息 2: 0a9e372d3b4ad19135b953a78882e789
其他信息 3: 0a9e
其他信息 4: 0a9e372d3b4ad19135b953a78882e789
请问我哪里出错了吗?顺便问下,数据库链接用api方便还是mfc方便数据库odbcwindows编程vc
解决方案 »
- 为什么MFC的函数框架,都要调用一下基类的函数呢?
- 多行文本框颜色怎么设置
- 关于ListCtrl中SetItem的困惑
- CHttpFile::SendRequest(...),用在FOR循环中,遇到奇怪的400错误问题。急!!
- 求助呀,总解决不了!我作了两个聊天程序,如何通过proxy服务器建立连接并传递信息?
- Access数据库,查询过于复杂
- 数据库方面的问题,请高手指教!
- 在DCOM中,利用VARIANT类型,是否可以将一个IUnkown接口从服务器传递到客户端,并且在客户端就像是用那些在客户端创建的一个对象接口一样使用呢?这个对象要在服务器运行。
- 菜鸟的疑问??
- 请问如下两小段代码的结果一定相等否?
- 关于MSCOMM控件的一点小问题
- VS 2008 debug 模式出现了一个很奇怪的事
你在控制面板里看一下数据源里有没有这个驱动:{MICROSOFT ACCESS DRIVER (*.mdb)};
2。
有没有sa这个数据库,如果有这个数据库,有没有这个数据库的数据源,你的连接字符串好象是SQL SERVER的连接字符串改的
你直接查用ADO操作ACCESS数据库就行了,不同的数据库的连接字符串是有区别的
#include <afxdb.h>BOOL ODBCConnect(CString strDBFile)
{
CString strConnect;
strConnect.Format(_T("ODBC;DRIVER={MICROSOFT ACCESS DRIVER (*.mdb)};UID=admin;PWD=;DBQ=%s"), strDBFile);
try
{
CDatabase db;
if(db.Open(NULL, FALSE, FALSE, strConnect))
{
//连接数据库成功
CRecordset rs(&db);
CString strSql;
strSql = _T("select * from info"); //SQL语句
rs.Open(AFX_DB_USE_DEFAULT_TYPE, strSql); //执行Sql语句(可添加 删除 查询等)
if(rs.IsOpen())
{
CDBVariant variant;
rs.MoveFirst();
while(!rs.IsEOF())
{
//读取记录
rs.GetFieldValue(_T("姓名"), variant);
rs.MoveNext();
} rs.Close();
}
db.Close();
return TRUE;
}
}
catch (CDBException* e)
{
e->ReportError();
e->Delete();
}
return FALSE;
}
结果显示在“调用SQLFetchScroll/SQLExtendedFetch之前,没有列被绑定”