當前位置:首頁 » 數據倉庫 » mfc怎麼連接資料庫
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

mfc怎麼連接資料庫

發布時間: 2022-04-22 17:21:12

⑴ MFC怎麼連接資料庫

mfc一般用到的資料庫是access ,sqlServer, sqlite
另外Oracle雖然不錯但是跟Java比較合適,mfc稍微麻煩點
連接方式有ado,odbc,小型資料庫的話我個人更推薦前者,因為odbc需要在一台電腦上進行配置,可移動性很差,而ado的話只要一個主程序一個資料庫就可以拖到另一台電腦上直接用(僅限於access)
SQLite比較特殊,有自己的連接和操作方法,全部集成在一個頭文件里,使用起來跟access SqlServer之類的有很大的不同,編程起來難度倒是相差不多,適合純c的嵌入式開發
如果你們項目不大,資料庫小,需要可移動性高的話 我推薦ado連access 我這有例子可以給你參考,另外ado連SqlServer我這也有可以給你,其他的目前還沒有,所以幫不上了

⑵ MFC中怎麼連接SQL資料庫

1. 由於使用的是ADO架構 首先需要在StdAfx.h文件中導入msado15.dll 和 oledb32.dll連個動態連接庫文件倒入方式為:
#import "msado15.dll" no_namespace rename ("EOF", "adoEOF")
#import "oledb32.dll" no_namespace
兩個文件的實際所在位置由於系統安裝的位置不同而不同。
no_namespace 使用無名命名空間 程序段比較短關聯較少的話可以這樣使用 否則請使用命名空間以免發生沖突,
rename ("EOF", "adoEOF") 重命名 EOF為 adoEOF 以免常量沖突。
2. 關於SQL Server以及的一些要求 首先安裝SQL Server的機器必須是 NT架構以上的系統 如果使用的是Windows XP SP2 的話需要對SQL Server打上SP4補丁方可網路訪問
3. 最好建立一個單獨的資料庫操作類 使程序中需要對資料庫進行操作的地方繼承這個類。
4. 類成員如下
_ConnectionPtr m_pConnection; // 資料庫
_RecordsetPtr m_pRecordset; // 命令
_CommandPtr m_pCommand; // 記錄
5. 方法如下
bool connect2database();
bool check_user(_bstr_t name, _bstr_t pwd);
bool CBugListCommon::connect2database()
{
_bstr_t ConnectionString = "Provider=sqloledb;Data Source='SQLSERVER';Integrated Security='SSPI';Initial Catalog='Test';User Id='sa';Password='sa';";
//Data Source 資料庫實例名
//Initial Catalog表名
//User Id 用戶名
//Password 密碼
if(FAILED(CoInitialize(NULL)))
return FALSE;
m_pConnection.CreateInstance(__uuidof(Connection));
try
{
m_pConnection->Open(ConnectionString , "", "", adConnectUnspecified);
return TRUE;
}
catch(_com_error e)
{
AfxMessageBox("資料庫連接失敗");
return FALSE;
}
return FALSE;
}

bool CBugListCommon::check_user(_bstr_t name, _bstr_t pwd)
{
_bstr_t cmdtxt = "SELECT User_Name, User_PassWord FROM User_Table WHERE (User_Name = N'";
cmdtxt = cmdtxt + name + "')";
// cmdtxt == SELECT User_Name, User_PassWord FROM User_Table WHERE (User_Name = N'name')
m_pCommand.CreateInstance("ADODB.Command");
m_pCommand->ActiveConnection = m_pConnection;
m_pCommand->CommandText = cmdtxt;
m_pRecordset = m_pCommand->Execute(NULL, NULL, adCmdText);
if(!m_pRecordset->adoEOF)
{
_bstr_t tn;
tn = m_pRecordset->GetCollect("User_PassWord");
if(tn == pwd)
return TRUE;
else
return FALSE;
}
return FALSE;
}

⑶ mfc 應用ado 連接 sql 資料庫

教你個連接資料庫的方法。首先新建一個txt文件,把他命名為aaa.udl然後雙擊它配置資料庫的連接。配置好連接成功後,將該文件放置程序文件夾內。連接資料庫時將你的_bstr_t
strConnect
=
"Provider
=
SQLOLEDB.1;Password=111;Persist
Security
Info=True
;User
Id=root;
Initial
Catalog=test;
Data
Source=localhost;";
這一句改為: _bstr_t
strConnect
="File
Name=EPXLDT.udl";然後再連接試試。 如果還不行,把你的郵箱發給我,我給你發個連接資料庫的類。挺好用的

⑷ MFC對話框程序怎麼連接資料庫資料庫時SQL SEVER的

1.可以使用ADO連接資料庫,具體的知識還比較的多,所以建議隨便找本mfc的書本看看,可以直接使用mfc向導里的選項,非常方便的。
2.使用odbc連接資料庫,較於復雜,而且速度明顯無ado快(順便吐槽一下odbc在windows程序開發中就是雞肋,從來都很少有人用的。)

⑸ MFC怎麼連接MYSQL資料庫求詳細。。

用ADO連接SQL資料庫
步驟如下:
1,在頭文件"StdAfx.h"中導入#import "C:/Program Files/Common Files/System/ado/msado15.dll" no_namespace rename("EOF","rsEOF"),記住把這句話放到endif的後面,不然會報錯,這樣處理好之後,編譯後又一個警告,可以忽略
2,在對話框的OnInitDialog()函數中寫上"::CoInitialize(NULL);::AfxOleInit(); 」 在主程序的初始化函數中,它就可以寫一次
3,在對話框類的頭文件中,聲明如下變數:_ConnectionPtr m_pConnection;_RecordsetPtr pRst;
連接資料庫的代碼如下:
try
{
hr=m_pConnection.CreateInstance("ADODB.Connection");

if(SUCCEEDED(hr))
{
hr=m_pConnection->Open("Provider=資料庫的驅動器名稱;Integrated Security=SSPI;Persist Security Info=False;Data Source=資料庫伺服器名;Initial Catalog=連接的資料庫名; User ID=登陸資料庫的名稱;Password=登陸資料庫的密碼;","","",adModeUnknown);
}
}
catch(_com_error e)
{
AfxMessageBox(e.ErrorMessage());
}
」資料庫的驅動器名稱「在控制面板里,以大圖標查看,可以看到一個"ODBC",雙擊打開,在」驅動程序「裡面在最下面有兩個」SQL Server"和「SQL Native Client"如果你是2000的SQL版本,就選」SQL Server"及「Provider=SQL Server"2005的"Provider=SQL Native Client"Data Source=? ,?的值可以是」localhost"也可以是你的資料庫伺服器的名稱,連接資料庫的時候可以看到,復制一下就可以了。
處理完之後就可以連接到你想要連接的資料庫上了!你下次給點分把!!!

⑹ MFC 裡面用ADO 編寫資料庫連接語句怎麼連接啊

1"Provider=SQLOLEDB.1;Server=127.0.0.1\SQLEXPRESS;DATABASE=S;UID=sa;PWD=123456"
用這個試試。MSSQL應該使用這樣的連接字元串,需要調整的,是前三個的值,三個順序分別可能有:
如果打不開,去掉.1試試,或者使用{SQL
SERVER};
127.0的IP地址改(local),但如果實例有名字(不是默認,那麼\SQLEXPRESS不能省掉。
確認你建立的資料庫名稱,如果打開別的庫,這里修改。

⑺ vs2010 mfc 怎麼鏈接 mysql資料庫

新建一個工程名叫mysql,編程環境選擇c#,然後選擇windows窗體應用程序,新建一個窗體用於顯示查詢到sql資料庫的數據集

從工具箱向form1窗體上拖一個按鈕和datagridview控制項,按鈕是觸發連接資料庫獲取數據集,按鈕的名稱為顯示,datagridview控制項是用於顯示數據集內容

單擊解決方案資源管理器中的引用文件夾然後右鍵選擇添加引用,選擇瀏覽後打開mysql.data.dll,這是c#連接mysql資料庫的動態庫,裡面封裝了很多常用的操作資料庫的方法

在解決方案資源管理器中的form1.cs的代碼中加入using MySql.Data.MySqlClient;這就是代碼中的實際引用mysql.data.dll中的內容,有了這個c#就能很方便地操作sql資料庫

在按鈕的單擊事件中添加如下代碼
string str = "Server=127.0.0.1;User ID=root;Password=123456;Database=test;CharSet=gbk;";
MySqlConnection con = new MySqlConnection(str);//實例化鏈接
con.Open();//開啟連接
string strcmd = "select * from user";
MySqlCommand cmd = new MySqlCommand(strcmd, con);
MySqlDataAdapter ada = new MySqlDataAdapter(cmd);
DataSet ds = new DataSet();
ada.Fill(ds);//查詢結果填充數據集
dataGridView1.DataSource = ds.Tables[0];
con.Close();//關閉連接

使用navicat軟體在資料庫test中新建表user,然後新建兩個欄位username和password(圖中的欄位),navicat軟體是mysql的圖形化界面工具,負責新建表以及備份等資料庫操作,直觀地通過界面來操作

7
資料庫建好後就可以執行工程了,單擊顯示按鈕執行結果如下,出現username和password說明資料庫連接成功,由於沒有添加數據所以下面為空

⑻ 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資料庫.你參考下
如果還有疑問請發到我的郵箱里.

⑼ 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();
//將記錄移到下一行
}
}
本程序是自動注冊數據源的,當然可以手動注冊數據源,關於如何注冊數據源並不麻煩,敘述起來不太方面,你就參考其他的吧。不過建議不用手動注冊數據源,這樣你地程序移植性不好.