當前位置:首頁 » 編程語言 » mfcsql資料庫

mfcsql資料庫

發布時間: 2023-04-11 16:32:20

『壹』 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資料庫中的是否存在表A

法(一):
select * From master.dbo.sysdatabases where name='資料庫名'
法(二纖彎):
if db_id('資料庫名') is not null
drop database 。。。
go
create 。。。
SQL Server中判斷表對毀梁悶象是否渣擾存在:
select count(*) from sysobjects where id = object_id('資料庫名.Owner.表名')

『叄』 MFC 向SQL資料庫寫入數據問題

在MFC中與SQL資料庫相關聯的主要是兩個類:CDatabase類與CRecordeset類。

1.將SQL中的欄位顯示在Clistctrl空間的列名中

[cpp]viewplain
m_gl.Open(CRecordset::dynaset);//打開ODBC連接的資料庫
shortnfilecount=m_gl.GetODBCFieldCount();//獲取表中的欄位數
CODBCFieldInfofieldinfo;//用於存儲欄位信息
for(intn=0;n<nfilecount;n++)
{
m_gl.GetODBCFieldInfo(n,fieldinfo);//返回某一欄位索引的叢數欄位信息m_strName保存的是欄位名
intnWidth=m_list.GetStringWidth(fieldinfo.m_strName)+15;//確定列頭的顯示長度
m_list.InsertColumn(n,fieldinfo.m_strName,LVCFMT_LEFT,nWidth);//在Clistctrl控制項中插入列
}


CStringstrvalue;
m_gl.MoveFirst();
intncount=0;
while(!m_gl.IsEOF())
{腔鄭或

m_list.InsertItem(ncount,strvalue);伍伍
//for(shortj=0;j<nfilecount;j++)
//{
//m_gl.GetFieldValue(j,strvalue);//獲取某個欄位的信息
//m_list.SetItemText(ncount,j,strvalue);//在Clistctrl控制項中寫入數據
//}
CStringm_ID;
m_ID.Format("%d",m_gl.m_ID);
m_list.SetItemText(ncount,0,m_ID);
m_list.SetItemText(ncount,1,m_gl.column1);
m_list.SetItemText(ncount,2,m_gl.column2);
m_list.SetItemText(ncount,3,m_gl.column3);
m_list.SetItemText(ncount,4,m_gl.column4);
m_list.SetItemText(ncount,5,m_gl.column4);
m_gl.MoveNext();
ncount++;

}
m_gl.Close();
m_db.Close();

2.刪除表中的某一行:

[cpp]viewplain
intnIdxingdb=nIdx1+1;
m_gl.Open(CRecordset::dynaset);//打開資料庫
m_gl.SetAbsolutePosition(nIdxingdb);//設置資料庫的記錄位置
m_gl.Delete();//刪除記錄
m_gl.Close();

3.增加到記錄中一行:

[cpp]viewplain
m_gl.AddNew();
m_gl.SetFieldNull(NULL,false);

m_gl.column1=r.Name;
m_gl.column5=r.Photo;
m_gl.column2=r.Depart;
m_gl.column3=r.IsIntern;
m_gl.column4=r.Phone;
m_gl.Update();
m_gl.Requery();

m_gl.MoveFirst();

『肆』 mfc如何將編輯框內容插入sql資料庫,編輯框成員m_name,資料庫名link,表Table,列name,CDatabase db

1、先連接資料庫,並打答好凳開資料庫
2、將m_name編輯框內的內容清旅如果是字元串的話,直接插入如果不是,要轉換襪孫成字元串:
3、然後些SQl語句:insert into Table (name)values(m_name);
4、執行SQL語句,並更新資料庫即可。
大概過程是這樣的,具體的語句你應該可以寫出來的

『伍』 [轉載]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中怎麼用SQL更新資料庫

初始化引入相關的庫+Connection對象的創建和資料庫的連接
#import "c:\\Program Files\\Common Files\\System\\ADO\\msado15.dll" rename_namespace("ADOCG") rename("EOF","adoEOF") //rename("BOF","adoBOF")
using namespace ADOCG;
//... ...
_ConnectionPtr m_pConnection;
//... ...
if(!AfxOleInit())
{
AfxMessageBox("初始化OLE DLL失敗!");
Return FALSE;
}

m_pConnection.CreateInstance("ADODB.Connection");
try
{
m_pConnection->ConnectionTimeout = 3;
//連接ACCESS2000
m_pConnection->Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=d:/Attendence/AttendenceDB.mdb","","",adModeUnknown);
}
catch(_com_error e)
{
AfxMessageBox(e.Description() + _T("\n資料庫連接失敗"));
}
更新記錄:
strSql.Format(_T("UPDATE WorkUser SET MemberName = '%s', MemberPosition = '%s' WHERE MemberID = '%s' "),m_StringName, m_StringPosition, m_StringNumber);
try
{

(theApp.m_pConnection)->Execute(_bstr_t(strSql), 0, adCmdText);
}
catch(_com_error e)
{
MessageBox(e.Description());
return;
}

『柒』 mfc 中 用SQL查詢資料庫時無結果

strSQL.Format("SELECT * from BookInfo where %s = '%s'",name,temp); // BID 不需要 ' ' 進行包含

『捌』 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;
}

『玖』 SQL資料庫與MFC

:("insert into tab_data(gps_jd) values('"+str_gps_jd+"')");

『拾』 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);

熱點內容
如何給word文件加密碼 發布:2024-11-02 06:21:10 瀏覽:717
台達模擬量編程 發布:2024-11-02 06:19:41 瀏覽:410
23456解壓 發布:2024-11-02 06:19:40 瀏覽:183
我的世界伺服器個人創造在哪裡 發布:2024-11-02 06:10:36 瀏覽:638
增霸卡的密碼是多少 發布:2024-11-02 06:06:18 瀏覽:813
傳奇天下第一完整腳本 發布:2024-11-02 06:04:03 瀏覽:586
javago性能 發布:2024-11-02 05:51:47 瀏覽:862
國內ip代理伺服器設置方式 發布:2024-11-02 05:42:42 瀏覽:842
線刷包文件夾 發布:2024-11-02 05:35:35 瀏覽:626
銀行家演算法的安全性演算法 發布:2024-11-02 05:20:15 瀏覽:598