mfc創建資料庫
『壹』 mfc中如何連接access資料庫 求詳細步驟
比如在你的工程目錄中建一個 dbfvir.mdb //Access資料庫,然後你需要做以下操作:
1.在StadAfx.h裡面添加#include <afxdb.h> //新加入頭文件,用於CDatabase類。
2.在StadAfx.h最後的#endif上添加#import "msado15.dll" no_namespace rename("EOF","rsEOF")
這時,你要把msado15.dll拷到與dbf同級的目錄,也就是工程目錄里,當然你可以該路徑
3.在你自己的工程里,比如MyProc是你建的工程,添加代碼
CMyPorcApp::CMyProcApp(){
CoInitialize(NULL);
sqlConfigDataSource(NULL,ODBC_ADD_DSN, "Microsoft Access Driver (*.mdb)",
"DSN=MyImage;DBQ=dbf\vir.mdb;DEFAULTDIR=dbf"); //注冊本地資料庫數據源
m_db.OpenEx("DSN=MyImage;;",CDatabase::noOdbcDialog);//MyImage是數據源名稱
}
4.在前面的函數體之前創建全局變數CDatabase m_db; CRecordset m_rec(&m_db);
5.使用資料庫{
CString strSQL="select * from virdb";
BSTR bstrSQL=strSQL.AllocSysString();
m_rec.Open(CRecordset::dynaset,strSQL);
while(!m_rec.IsEOF())
{
// 使用資料庫的代碼,讀出來的數據都是字元串型的
CString MyVirable;
m_rec.GetFieldValue("欄位名",MyVirable); //將某個欄位的當前行的值讀到MyVirabl中
// ......
m_rec.MoveNext(); //將記錄移到下一行
}
}
本程序是自動注冊數據源的,當然可以手動注冊數據源,關於如何注冊數據源並不麻煩,敘述起來不太方面,你就參考其他的吧。不過建議不用手動注冊數據源,這樣你地程序移植性不好.
『貳』 如何在VC++中應用MFC實現資料庫管理
首先,安裝好VC++6.0,具體安裝方式在此不做介紹,然後打開軟體,點擊如下圖標
文件-新建-工程中選擇 MFC AppWizard(exe),用來創建MFC對話框應用程序,如下圖中所示
在下圖數字2中輸入工程名稱,數字3中選擇工程你要存放的位置,然後選擇確定
完成上述確定後,會顯示下面的對話框,選擇箭頭所示
5
軟體的其設置選擇默認,點擊完成,軟體會顯示一些這個工程的相關信息,包括你創建的工程名,路徑,還有一些其它的信息,這樣再確定,對話框MFC應用程序安裝完成!
『叄』 小生正在自學VC——MFC ODBC資料庫,怎麼創建資料庫
打開office中的access數據,在菜單欄中選擇新建。 mdb格式的文件是由access資料庫生成的。
『肆』 MFC怎麼與資料庫連接,求詳細步驟!!!!!急急急!!!!!!
比如在你的工程目錄中建一個
dbf\vir.mdb
//access資料庫,然後你需要做以下操作:
1.在stadafx.h裡面添加#include
//新加入頭文件,用於cdatabase類。
2.在stadafx.h最後的#endif上添加#import
"msado15.dll"
no_namespace
rename("eof","rseof")
這時,你要把msado15.dll拷到與dbf同級的目錄,也就是工程目錄里,當然你可以該路徑
3.在你自己的工程里,比如myproc是你建的工程,添加代碼
cmyporcapp::cmyprocapp(){
coinitialize(null);
sqlconfigdatasource(null,odbc_add_dsn,
"microsoft
access
driver
(*.mdb)",\
"dsn=myimage;dbq=dbf\\vir.mdb;defaultdir=dbf");
//注冊本地資料庫數據源
m_db.openex("dsn=myimage;;",cdatabase::noodbcdialog);//myimage是數據源名稱
}
4.在前面的函數體之前創建全局變數cdatabase
m_db;
crecordset
m_rec(&m_db);
5.使用資料庫{
cstring
strsql="select
*
from
virdb";
bstr
bstrsql=strsql.allocsysstring();
m_rec.open(crecordset::dynaset,strsql);
while(!m_rec.iseof())
{
//
使用資料庫的代碼,讀出來的數據都是字元串型的
cstring
myvirable;
m_rec.getfieldvalue("欄位名",myvirable);
//將某個欄位的當前行的值讀到myvirabl中
//
......
m_rec.movenext();
//將記錄移到下一行
}
}
本程序是自動注冊數據源的,當然可以手動注冊數據源,關於如何注冊數據源並不麻煩,敘述起來不太方面,你就參考其他的吧。不過建議不用手動注冊數據源,這樣你地程序移植性不好.
『伍』 [轉載]MFC 如何連接資料庫(c++ 連接sql server )老
1.首先,你的機器上要保證有sql server,並能正確進入並創建資料庫,表等。2.建議把那個SA的密碼自己重新設定一下,設定方法:打開sql server 2005 SQL Server Management Studio,進去後在那個安全性--登錄名--右鍵點擊SA屬性,設置密碼,狀態裡面改成,授予 啟用。3.將ADO代碼庫引入到工程中,需要在stdafx.h或TEST.h(這個MFC項目的頭文件)中添加如下代碼,注意不同的操作系統在安裝時這個路徑可能不一樣,所以必須先在系統中找到msado15.dll文件的路徑:加入代碼:#import "C:Program FilesCommon FilesSystemadomsado15.dll" no_namespace rename("EOF","adoEOF")?(通過以上代碼就可以將ADO代碼庫引入到當前工程中)?4.在TEST工程中的TEST.h中加入如下代碼:(藍色為所加入的) class CSQL_TESTApp : public CWinApp{public:?_ConnectionPtr m_pAppConn;?//連接對象指針
CString m_AppConnString;?//連接字元串的聲明
bool m_bConnected; //連接標志 public:
CSQL_TESTApp();// Overrides
// ClassWizard generated virtual function overrides
//{{AFX_VIRTUAL(CSQL_TESTApp)public:virtual BOOL InitInstance();
。。。。};?5.在TEST工程的TEST.CPP文件中加入如下代碼:(藍色為所加入的)BOOL CSQL_TESTApp::InitInstance(){AfxEnableControlContainer();?HRESULT hRes;try{hRes=m_pAppConn.CreateInstance(_T("ADODB.Connection"));
m_pAppConn->Open(_bstr_t((LPCTSTR) m_AppConnString) , _T("") , _T("") , adModeUnknown);
if(SUCCEEDED(hRes)){m_bConnected = TRUE; //連接成功設置標志位}}catch(_com_error e){CString errormessage;
errormessage.FormatMessage(_T("連接資料庫失敗 %s"),e.ErrorMessage());
AfxMessageBox(errormessage); //顯示錯誤信息
return FALSE;?}
『陸』 MFC查看資料庫文件是否存在,不存在則建立資料庫文件
access的資料庫文件後綴應該是 mdb啊, 調用 PathIsExist這個函數,來判斷你這個路徑或者文件是否有效,
創建資料庫文件最簡單的就是你准備好一個資料庫模板, 如果檢測這個資料庫文件不存在,則把模板復制進去 調用
CopyFile函數來復制,
『柒』 MFC中創建mdb資料庫的語句問題
可能出現問題的原因有兩個:
moneyVARCHAR之間少了空格,這個是不可解析的,必須有空格,這分別是欄位名和欄位屬性;
如果該表已經創建,那麼重復創建會失敗。
『捌』 問題:MFC 動態創建access資料庫,並建立表,出現錯誤,請高手指教,總是說:sql語句錯誤
rr
『玖』 如何進行MFC資料庫編程
MFC資料庫編程包含如下:
首先,你要選擇使用什麼方式連接資料庫,有ODBC,ADO等,
其他,就是sql語句操作資料庫了,對後是怎麼存儲操作數據。
『拾』 MFC如何用資料庫
你首先安裝Mysql,然後使用下面代碼
在MyProc類中增加MySqlConnect方法,strUSR,strPWD分別為用戶名和密碼,登陸資料庫需要
BOOL MyPorc::MySqlConnect(CString strUSR,CString strPWD)
{
unsigned short Port = 3306; //埠
CString IPAddress ="127.0.0.1"; //本地資料庫
CString UserName = strUSR;
CString Password = strPWD;
ssock=(MYSQL *)malloc(sizeof(MYSQL));
mysql_init(ssock);
if(ssock == NULL)
{
AfxMessageBox("連接失敗,請稍後在試! ");
return FALSE;
}
ssock = mysql_real_connect(ssock, IPAddress, UserName, Password, NULL, Port, NULL, 0);
if(!ssock)
{
unsigned int mtint = mysql_errno(ssock);
AfxMessageBox("登陸失敗! ");
return FALSE;
}
return TRUE;
}