c++編輯的程式如下,沒有問題。然后我點擊運行后選了我要訪問的資料源之后,先出現了圖1的情況,我點了確定之后就跳到了圖2那樣。實在不知道怎么弄了。拜托各位大神了。
#include <stdio.h>
#include <stdlib.h>
#include <afxdb.h>
void main(int argc, char *argv[])
{
CString strSql;
CDatabase m_db;
m_db.Open(NULL);
CRecordset rs(&m_db);
strSql = "select *from Student";
printf("學號\t\t姓名\t\t性別\n");
rs.Open(CRecordset::forwardOnly,strSql,0);
while(!rs.IsEOF())
{
CString strNumber;
CString strName;
CString strSex;
rs.GetFieldValue("Sno",strNumber);
rs.GetFieldValue("Sname",strName);
rs.GetFieldValue("Ssex",strSex);
printf("%s\t%s\t%s\n",strNumber,strName,strSex);
rs.MoveNext();
}
m_db.Close();
}
uj5u.com熱心網友回復:
uj5u.com熱心網友回復:
uj5u.com熱心網友回復:
各位大神啊,拜托。有沒有人幫幫我啊uj5u.com熱心網友回復:
open(Null)打開的是什么資料庫,不應該是連接字串嘛。愚見,沒怎么用過VCuj5u.com熱心網友回復:
首先要做 ::CoInitialize(NULL);uj5u.com熱心網友回復:
或者加例外捕獲看是什么錯誤try
{
//你的ODBC資料庫代碼
}
catch(CException* pEx)
{
pEx->ReportError();
pEx->Delete();
}
你建的不是MFC工程,初學的不推薦你用ODBC,可以看下這里的ado例子。
uj5u.com熱心網友回復:
沒懂什么意思uj5u.com熱心網友回復:
首先要做 ::CoInitialize(NULL);, 這句是什么意思uj5u.com熱心網友回復:
你自己Debug下看看資料庫操作是否成功?比如Open呼叫的地方看看回傳值是否正確?uj5u.com熱心網友回復:
加頭檔案,#include <atlbase.h>
#include <afxoledb.h>
加代碼:
CoInitialize(NULL);
// 初始化 OLE 庫
if (!AfxOleInit())
{
AfxMessageBox(IDP_OLE_INIT_FAILED);
return FALSE;
}
試試看
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/139759.html
標籤:數據庫
上一篇:請高手們幫幫忙!VC++ 采用ODBC連接SQL資料庫的問題
下一篇:VC++ 解壓縮的問題
