❶ mfc中連接access資料庫的詳細步驟都是什麼
比如在你的工程目錄中建一個 dbf\vir.mdb //Access資料庫,然後你需要做以下操作:x0dx0a1.在StadAfx.h裡面添加#include //新加入頭文件,用於CDatabase類。x0dx0a2.在StadAfx.h最後的#endif上添加#import "msado15.dll" no_namespace rename("EOF","rsEOF")x0dx0a這時,你要把msado15.dll拷到與dbf同級的目錄,也就是工程目錄里,當然你可以該路徑x0dx0a3.在你自己的工程里,比如MyProc是你建的工程,添加代碼x0dx0aCMyPorcApp::CMyProcApp(){x0dx0aCoInitialize(NULL);x0dx0aSQLConfigDataSource(NULL,ODBC_ADD_DSN, "Microsoft Access Driver (*.mdb)",\x0dx0a "DSN=MyImage;DBQ=dbf\\vir.mdb;DEFAULTDIR=dbf"); //注冊本地資料庫數據源x0dx0am_db.OpenEx("DSN=MyImage;;",CDatabase::noOdbcDialog);//MyImage是數據源名稱x0dx0a}x0dx0a4.在前面的函數體之前創建全局變數CDatabase m_db; CRecordset m_rec(&m_db);x0dx0a5.使用資料庫{x0dx0a CString strSQL="select * from virdb"; x0dx0a BSTR bstrSQL=strSQL.AllocSysString();x0dx0a m_rec.Open(CRecordset::dynaset,strSQL);x0dx0a while(!m_rec.IsEOF()) x0dx0a{x0dx0a // 使用資料庫的代碼,讀出來的數據都是字元串型的x0dx0a CString MyVirable;x0dx0a m_rec.GetFieldValue("欄位名",MyVirable); //將某個欄位的當前行的值讀到MyVirabl中x0dx0a // ......x0dx0a m_rec.MoveNext(); //將記錄移到下一行x0dx0a }x0dx0a}x0dx0ax0dx0a本程序是自動注冊數據源的,當然可以手動注冊數據源,關於如何注冊數據源並不麻煩,敘述起來不太方面,你就參考其他的吧。不過建議不用手動注冊數據源,這樣你地程序移植性不好.
❷ mfc如何遠程連接sql資料庫
1. 配置SQL Server外圍應用伺服器,開啟SQL Server 2005遠程連接功能:
「配置工具」->「SQL Server外圍應用配置器」-> 選擇「服務和連接的外圍應用配置器」->選擇Database Engine節點下的 「遠程連接」-> 選擇「本地連接和遠程連接」-> 選擇「同時使用TCP/IP和named pipes」-> 點擊確定,重新啟動
資料庫
服務。
2. 把登陸設置改為SQL Server 和 Windows 身份驗證模式:
打開SQL Server Management Studio管理器,點擊伺服器上面右鍵然後查看屬性,在安全性選項裡面對服務身份驗證選擇「SQL Server 和 Windows 身份驗證模式」。
3.修改SQL Server sa的密碼:
在SQL Server Management Studio管理器中,展開伺服器上的「安全性」->登陸名->在sa帳號上點右鍵屬性,這樣在「常規」的選擇頁中更改sa登陸帳號的密碼。注意SQL Server2005中,不允許密碼設置簡單,否則會通不過。然後在選擇頁的「狀態」的登錄修改為啟用。
4.設置SQL Server 的埠號
在SQL Server Configuration Manager管理器中,展開SQL Server 2005 Network Configuration項目 -> 單擊下面的 Protocols for 'dbname' -> 在右側的窗口中,右鍵單擊"TCP/IP"項,選擇"屬性" -> 打開"TCP/IP properties"窗口 - > 單擊"IP Address"選項卡 -> 將所有IP地址下面的 "TCP Port" 值設置成1433
5.確保開啟SQL Server服務
在SQL Server Configuration Manager管理器中, 選中SQL Server 2005 Services,在右側的窗口中啟動SQL Server ('YourInstance'),
6. 修改連接字元串,在字元串中加入SQl Server 服務的埠號.
strConnection.Format("driver={SQL Server};Server=xx.xx.xx.xx,1433;DATABASE=mydatabase;UID=name;PWD=pwd");
7.連接coder:
stdafx.h中引用:
#import "C:\Program Files\Common Files\System\ado\msado15.dll" no_namespace rename("EOF","adoEOF")
8. 連接SQL SERVER伺服器,並連接資料庫
if(!AfxOleInit()) //這就是初始化COM庫
{
AfxMessageBox("資料庫初始化出錯!");
}
_ConnectionPtr pCn("ADODB.Connection");
pCn->Open((_bstr_t)"Driver=
{SQL Server};Server=127.0.0.1,1433;Database=carcom;UID=sa;PWD=abc123456","","",adModeUnknown);
❸ MFC怎麼連接資料庫
mfc一般用到的資料庫是access ,SqlServer, sqlite
另外Oracle雖然不錯但是跟Java比較合適,mfc稍微麻煩點
連接方式有ado,odbc,小型資料庫的話我個人更推薦前者,因為odbc需要在一台電腦上進行配置,可移動性很差,而ado的話只要一個主程序一個資料庫就可以拖到另一台電腦上直接用(僅限於access)
SQLite比較特殊,有自己的連接和操作方法,全部集成在一個頭文件里,使用起來跟access SqlServer之類的有很大的不同,編程起來難度倒是相差不多,適合純c的嵌入式開發
如果你們項目不大,資料庫小,需要可移動性高的話 我推薦ado連access 我這有例子可以給你參考,另外ado連SqlServer我這也有可以給你,其他的目前還沒有,所以幫不上了
❹ 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;
}
❺ mfc中怎麼連接資料庫。
IMPLEMENT_DYNAMIC(appendSet, CRecordset)
appendSet::appendSet(CDatabase* pdb)
: CRecordset(pdb)
{
//{{AFX_FIELD_INIT(CCode2_3Set)
/* m_username = _T("");
m_psw = _T("");
m_nFields = 2;*/
id=_T("");
stockid=_T("");
buytime=_T("");
selltime=_T("");
number=_T("");
m_nFields = 5;
//}}AFX_FIELD_INIT
m_nDefaultType = snapshot;
}
CString appendSet::GetDefaultConnect()
{
return _T("ODBC;DSN=stock");
}
CString appendSet::GetDefaultSQL()
{
return _T("[stock]");
}
void appendSet::DoFieldExchange(CFieldExchange* pFX)
{
//{{AFX_FIELD_MAP(CCode2_3Set)
pFX->SetFieldType(CFieldExchange::outputColumn);
/*RFX_Text(pFX, _T("[username]"), m_username);
RFX_Text(pFX, _T("[psw]"), m_psw);*/
RFX_Text(pFX, _T("[id]"), id);
RFX_Text(pFX, _T("[stockid]"), stockid);
RFX_Text(pFX, _T("[buytime]"), buytime);
RFX_Text(pFX, _T("[selltime]"), selltime);
RFX_Text(pFX, _T("[number]"), number);
//}}AFX_FIELD_MAP
}
// CCode2_3Set diagnostics
#ifdef _DEBUG
void appendSet::AssertValid() const
{
CRecordset::AssertValid();
}
void appendSet::Dump(CDumpContext& dc) const
{
CRecordset::Dump(dc);
}
#endif //_DEBUG
這是我以前用的.連接ACCESS資料庫.你參考下
如果還有疑問請發到我的郵箱里.