當前位置:首頁 » 編程語言 » mfc連接sqlserver

mfc連接sqlserver

發布時間: 2022-05-01 16:00:44

『壹』 如何用MFC連接資料庫sql2008做一個登錄的界面和功能啊

您好,您這樣:
qlConnectionStringBuilder b = new SqlConnectionStringBuilder();
b.DataSource = @".";//本地資料庫
b.IntegratedSecurity = true;
b.InitialCatalog = "northwind";//資料庫名
String conStr = b.ConnectionString;
SqlConnection con = new SqlConnection(conStr);

『貳』 c++與sqlserver資料庫怎樣連接

HRESULThr=sqlSp.CreateInstance(_uuidof(Connection));

if(FAILED(hr))

{

AfxMessageBox("_ConnectionPtr對象指針實例化失敗!!!");

return;

}

else{

try{

_bstr_tstrConnect="Driver={sqlserver};server=192.168.1.29;uid=sa;pwd=ebank@123;database=baoshang;";

sqlSp->Open(strConnect,"","",adModeUnknown);

}

catch(_com_error&e)

{

AfxMessageBox(e.Description());

return;

}

_RecordsetPtrm_pRecordset;

if(FAILED(m_pRecordset.CreateInstance(_uuidof(Recordset))))

{

AfxMessageBox("記錄集對象指針實例化失敗!");

return;

}

try{

m_pRecordset->Open("select*fromdbo.TB_DICT_CONTTYPE",(IDispatch*)sqlSp,adOpenDynamic,adLockOptimistic,adCmdText);

}

catch(_com_error&e)

{

AfxMessageBox(e.Description());

return;

}

try{

m_pRecordset->MoveFirst();

while(!m_pRecordset->adoEOF)

{

CStringinsertTime=(char*)(_bstr_t)(m_pRecordset->Fields->GetItem(_variant_t("F_TYPE_ID"))->Value);

AfxMessageBox(insertTime);

m_pRecordset->MoveNext();

}

}

catch(_com_error&e)

{

AfxMessageBox(e.Description());

return;

}

}

(2)mfc連接sqlserver擴展閱讀

連接資料庫三支路

1、導入資料庫命名空間:

usingSystem.Data.SqlClient;

2、創建資料庫連接對象,並指定資料庫連接字元串:

//創建資料庫連接對象:SqlConnectionconn=newSqlConnection(str);

//資料庫連接字元串:Stringstr="DataSource=.;InitialCatalog=test;IntegratedSecurity=True";

3、打開與資料庫的連接:

Open.conn();

4、創建操作命令對象Command,並指定操作數據源以及操作命令:

//創建操作命令對象:SqlCommandcmd=newSqlCommand();

//操作數據源:cmd.Connection=conn;

//操作命令:cmd.CommandText="selectcount(*)fromuser_tablewhereuserName='"+uName+"'anserPwd='"+uPwd+"'";

『叄』 VC++ MFC ADO連接SQL2008

我之前做項目總結的MFCADO鏈接資料庫

ADO操作SQL
Visual C++提供了多種多樣的資料庫訪問技術——ODBC API、MFC ODBC、DAO、OLE DB、ADO等。
其中ADO技術是基於OLE DB的訪問介面,它繼承了OLE DB技術的優點,並且,ADO對OLE DB的介面作了封裝,定義了ADO對象,使程序開發得到簡化,ADO技術屬於資料庫訪問的高層介面。
1.導入相關庫文件(一般在StdAfx.h中導入)
#import "c:\program files\common files\system\ado\msado15.dll" \
no_namespace \
rename("EOF","adoEOF")
在#ifdef _UNICODE前面
2.初始化COM庫(一般在InitInstance()中初始化)
BOOL CadoconnectionApp::InitInstance()
{
CWinApp::InitInstance();
AfxOleInit();//初始化COM庫
AfxEnableControlContainer();
}
3 介面簡介
ADO庫包含三個基本介面:
__ConnectionPtr介面 創建資料庫連接
__CommandPtr介面 執行SQL命令
__RecordsetPtr介面 返回結果集

__ConnectionPtr介面返回一個記錄集或一個空指針。通常使用它來創建一個數據連接或執行一條不返回任何結果的SQL語句,如一個存儲過程。用__ConnectionPtr介面返回一個記錄集不是一個好的使用方法。

__CommandPtr介面返回一個記錄集。它提供了一種簡單的方法來執行返回記錄集的存儲過程和SQL語句。在使用__CommandPtr介面時,可以利用全局__ConnectionPtr介面,也可以在__CommandPtr介面里直接使用連接串。如果只執行一次或幾次數據訪問操作,後者是比較好的選擇。但如果要頻繁訪問資料庫,並要返回很多記錄集,那麼,應該使用全局__ConnectionPtr介面創建一個數據連接,然後使用__CommandPtr介面執行存儲過程和SQL語句。

__RecordsetPtr是一個記錄集對象。與以上兩種對象相比,它對記錄集提供了更多的控制功能,如記錄鎖定,游標控制等。同__CommandPtr介面一樣,它不一定要使用一個已經創建的數據連接,可以用一個連接串代替連接指針賦給__RecordsetPtr的connection成員變數,讓它自己創建數據連接。如果要使用多個記錄集,最好的方法是同Command對象一樣使用已經創建了數據連接的全局—ConnectionPtr介面,然後使用__RecordsetPtr執行存儲過程和SQL語句。
4.連接資料庫
在對話框
public:
_RecordsetPtr m_pRecordset;
_ConnectionPtr m_pConnection;
_CommandPtr m_pCommand;
在類的構造函數中創建:
m_pConnection.CreateInstance(__uuidof(Connection));
m_pRecordset.CreateInstance(__uuidof(Recordset));
m_pCommand.CreateInstance(__uuidof(Command));

BOOL CADODlg::OnInitDialog()
{
CDialogEx::OnInitDialog();
// TODO: Add extra initialization here
try
{
m_pConnection->ConnectionTimeout=10;
m_pConnection ->Open("Provider=SQLOLEDB;Data Source= PC-20140312ZLBA;Initial Catalog=CNCDB","dbaccess","dbaccess",adModeUnknown);
///連接資料庫
MessageBox( L"連接資料庫成功");
}
catch(_com_error e)
{
AfxMessageBox(_T("連接資料庫失敗!"));
return TRUE;
}
return TRUE; // return TRUE unless you set the focus to a control
}
5.資料庫操作
m_pConnection ->Execute("delete from TBL_CONNECTLOGS",NULL,adCmdText);

6.關閉連接
void XXXX::OnDestroy()
{
if(m_pConnection ->State)
{
m_pConnection ->Close();
}
m_pConnection =NULL;
}

補充:連接字元串的模式
一般模式
"Provider=SQLOLEDB;Data Source=伺服器;Initial Catalog=資料庫;uid=SQL用戶名;pwd=SQL密碼;"

信任模式
"Provider=SQLOLEDB;Data Source=伺服器;Initial Catalog=資料庫;Integrated Security=SSPI;"

網路模式
"Provider=SQLOLEDB;Data Source=IP地址,埠;Network Library=DBMSSOCN;Initial Catalog=資料庫;UserID=用戶名;Password=密碼;"

注意看下面這兩種寫法,其實是一個意思:
m_pConnect->Open("Provider=SQLOLEDB;Data Source=伺服器;Initial Catalog=資料庫;","sa","123456",-1);
m_pConnect->Open("Provider=SQLOLEDB;Data Source=伺服器;Initial Catalog=資料庫;uid=sa;pwd=123456;","","",-1);

『肆』 MFC利用ADO連接SQLSERVER2000的問題

你的資料庫名 和 表名 分別是 「資料庫名」 「表名」 這么犀利 ???
這類問題 首先是要確定你的資料庫環境成功建立起來沒 可以在桌面建立一個 .TXT文件 然後把後綴名改為 .udl 雙擊打開就是了 測試資料庫連接
如果沒問題 就檢查VC代碼 一系列的問題 有相關的資料庫操作類 建議去系統學習
先打好基礎吧

『伍』 怎樣用MFC連接SQL sever

_ConnectionPtr m_pCon; //ADO連接對象
_RecordsetPtr m_pRs;
_CommandPtr m_pCom;

CString strAdoConn;
strAdoConn.Format("driver={SQL Server};SERVER=%s;UID=%s;PWD=%s;DATABASE=%s", strServer, strUser, strPWD, strDatabase);
m_pCon.CreateInstance(_uuidof(Connection));
m_pCon->ConnectionString = (_bstr_t)strAdoConn;
m_pCon->Open("","","",NULL);
m_pCom.CreateInstance("ADODB.Command");
m_pRs.CreateInstance(_uuidof(Recordset));

CString sql;
sql.Format("select * from table'");
try
{
m_pRs1->raw_Close();
m_pRs1->Open((_variant_t)sql,m_pCon.GetInterfacePtr(),adOpenKeyset,adLockOptimistic,adCmdText);
}
catch(...)
{}

『陸』 MFC無法用ADO連接遠程SQL資料庫

檢查下伺服器端的(也就是你的電腦) Microsoft SQL Server 2005-- 配置工具 -- SQLServer外圍應用配置器 -- 服務和連接的外圍應用配置器 -- Database Engine -- 遠程連接 --設置成為:本地連接和遠程連接(同時使用TCP/IP和named pipes)。

試試吧 。

『柒』 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連接到資料庫,資料庫位置發生改變後,怎樣重新接入

不管是access還是sql
server,在mfc下都可以通過ado進行資料庫連接。
access連接的時候只需要傳入資料庫文件的存放路徑就行;
sql
server連接的時候,得傳入伺服器名、資料庫名、用戶名、用戶密碼等參數。
ado封裝類在網上有下的,你可以搜一下!
有問題加q說!

熱點內容
手機ea伺服器連不上怎麼辦 發布:2025-05-15 01:35:03 瀏覽:450
資料庫數據插入語句 發布:2025-05-15 01:30:01 瀏覽:871
js是無需編譯直接運行嗎 發布:2025-05-15 01:28:30 瀏覽:476
android文件夾重命名 發布:2025-05-15 01:13:50 瀏覽:481
cns腳本 發布:2025-05-15 01:13:38 瀏覽:722
數據結構與演算法筆試題 發布:2025-05-15 01:04:20 瀏覽:417
搜狗輸入法如何直接編輯配置文件 發布:2025-05-15 00:51:47 瀏覽:668
電箱都有哪些配置 發布:2025-05-15 00:30:21 瀏覽:74
安卓qq邀請碼在哪裡尋找 發布:2025-05-15 00:02:04 瀏覽:35
三菱fx編程口 發布:2025-05-15 00:01:23 瀏覽:810