连接Access数据库运行异常
- C/C++ code
OOL Cconnect::ODBCConnect(CString strDBFile)
{
CString strConnect;
strConnect.Format(_T("ODBC;DRIVER={MICROSOFT ACCESS DRIVER (*.mdb)};UID=;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(CRecordset::snapshot, strSql); //执行Sql语句(可添加 删除 查询等)
// rs.Open(AFX_DAO_USE_DEFAULT_TYPE,strSql,NULL);
if(rs.IsOpen())
{
CDBVariant variant;
rs.MoveFirst();
while(!rs.IsEOF())
{
//读取记录
rs.GetFieldValue(_T("姓名"), variant);
rs.MoveNext();
}
rs.Close();
}
db.Close();
return TRUE;
}
return FALSE;
编译通过,运行提示:debug error。 调试时,提示在调用 SQLFetchScroll/SQLExtendedFetch 之前,没有列被绑定
State:SL009,Native:0,Origin:[Microsoft][ODBC 游标库],这个问题该怎么解决呢?
[解决办法]
调试到那一句出错啊?
[解决办法]
我就是这样用的:
m_Database.Open(m_strDBName,0,0,";PWD=123");//123代表access数据库密码,
如果没有密码可以直接m_Database.Open(m_strDBName);
m_pRecordset->Open(dbOpenSnapshot, strQuery, dbReadOnly);
运行几年了好像还行