这怎么不能调出Access表中的数据啊?求正解
void CMy35Dlg::OnButton1() ?
{
? CString strSql;
CString strDriver = "MICROSOFT ACCESS DRIVER (*.mdb)";
CString strDsn;
CString strFile = "F:\\user.mdb";
CString temp1;
CString temp2;
? strDsn.Format("ODBC;DRIVER={%S};UID=sa;PWD=%s",strDriver,strFile);
try
{ CDatabase m_db;
m_db.Open(NULL,FALSE,FALSE,strDsn);
CString strConnection=m_db.GetConnect();
CRecordset m_rs(&m_db);
strSql.Format("select * from usertable Where no=1");
m_rs.Open(CRecordset::forwardOnly,strSql,CRecordset::readOnly);
{
m_rs.GetFieldValue("name",temp1);
m_rs.GetFieldValue("no",temp2);
m_pList.SetItemText(0,1,temp1);
m_pList.SetItemText(0,2,temp2);
}
m_rs.Close();
m_db.Close();
}
catch(CDBException e)
{
MessageBox("ODBC数据库错误\n找不到数据库data.mdb","发生错误",MB_OK);
}
}
没有错误,但是执行的时候显示数据,不知道什么原因。求大神帮助我啊 Access表很简单:
no name
1 周杰伦
2 周星驰
3 刘德华
[解决办法]
你应该用的是ODBC的方式连接数据库吧!
首先,你是否创建好了ODBC数据源?
其次,m_db.Open(NULL,FALSE,FALSE,strDsn);Open函数的第一个参数应该是ODBC数据源的DSN名称,第四个参数是
设置用户名和密码等连接信息的。具体说明你可以看一下MSDN.
你的问题可能是数据库没有连接成功!