資源簡介
開發語言C++ MFC界面連接數據庫(VisualStudio開發) 附教程https://blog.csdn.net/u011752195/article/details/82839466
代碼片段和文件信息
#include?“StdAfx.h“
#include?“MFCDlg.h“
#include??
#include??
#include?“CDatabase.h“
//?構造函數初始化MYSQL對象
CDatabase::CDatabase()
{
mysql_init(&mysql);
}
//?析構函數
CDatabase::~CDatabase()
{
Close();
mysql_library_end();
}
//?關閉數據庫連接
void?CDatabase::Close()
{
if(query) mysql_free_result(query);
mysql_close(&mysql);
}
//?打開數據庫
bool?CDatabase::Open(char*?host?char*?user?char*?pass?char*?db)
{
CString??error;
if(!mysql_real_connect(&mysql?host?user?pass?db?3306?NULL?0))
{?
error?=?mysql_error(&mysql);
AfxMessageBox(error);
//printf(“執行查詢操作失敗。錯誤原因:?%s\n“??mysql_error(&mysql));
return?false;
}
return?true;
}
//選擇記錄
bool?CDatabase::Execute(char*?sql)
{
if(mysql_real_query(&mysql?sql?strlen(sql))) return?false;
query?=?mysql_use_result(&mysql);
return?true;
}
//設置編碼
void?CDatabase::SetCode()
{
//mysql_set_character_set(&mysql?“utf8“);
AfxMessageBox(“成功“);
}
//獲取字段個數
int?CDatabase::GetFieldNum()
{
if?(query)?return?mysql_num_fields(query);
return?0;
}
//獲取記錄行
MYSQL_ROW?CDatabase::GetRecord()
{
if?(query)?
{
row?=?mysql_fetch_row(query);
return?row;
}
return?NULL;
}
//?獲取記錄集
void?CDatabase::GetRecords()
{
query?=?mysql_use_result(&mysql);
}
//?獲取記錄集字段值的長度
unsigned?long?*?CDatabase::GetRecordFieldLength()
{
if?(query)?return?mysql_fetch_lengths(query);
return?NULL;
}
//?顯示查詢結果集
bool?CDatabase::ShowRecords(char*?sql)
{
//?執行查詢操作
if?(!Execute(sql))?return?FALSE;
unsigned?int?nFields?=?GetFieldNum();
CEdit*?pWnd?=?(CEdit*)AfxGetApp()->m_pMainWnd->GetDlgItem(IDC_EDIT1);
while?((row?=?GetRecord()))
{
unsigned?long?*lengths;
lengths?=?GetRecordFieldLength();
for(UINT?i?=?0;?i? {
//printf(“[%.*s]?“?(int)?lengths[i]?row[i]???row[i]?:?“NULL“);
char?*s?=?new?char[200];
sprintf(s“%.*s?“?(int)?lengths[i]?row[i]???row[i]?:?“NULL“);
//CMFCDlg?myDialog?=?new?CMFCDlg();
//((CEdit*)myDialog.GetDlgItem(IDC_EDIT1))->SetWindowText(_T(“xxxx“));
//myDialog->SetWindowText(“123“)
int?nLength=pWnd->SendMessage(WM_GETTEXTLENGTH);??
pWnd->SetSel(nLength??nLength);??
pWnd->ReplaceSel(s);
/*m.setedit(s);*/
}
//printf(“\n“);
}
//printf(“--------------------------------------------------\n“);
return?TRUE;
}
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件?????235008??2018-09-25?14:33??MFC\Debug\MFC.exe
?????文件????1582620??2018-09-25?14:33??MFC\Debug\MFC.ilk
?????文件????3968000??2018-09-25?14:33??MFC\Debug\MFC.pdb
?????文件??????97792??2018-09-18?23:35??MFC\Debug\test.exe
?????文件?????924980??2018-09-18?23:35??MFC\Debug\test.ilk
?????文件????3591168??2018-09-18?23:35??MFC\Debug\test.pdb
?????文件???????2463??2018-09-19?17:10??MFC\MFC\CDataba
?????文件????????683??2018-09-19?16:59??MFC\MFC\CDataba
?????文件?????????73??2018-09-18?14:49??MFC\MFC\Debug\BAT00004B100562040.bat
?????文件???????6034??2018-09-25?14:33??MFC\MFC\Debug\BuildLog.htm
?????文件??????39887??2018-09-22?00:51??MFC\MFC\Debug\CDataba
?????文件?????253403??2018-09-22?00:51??MFC\MFC\Debug\HttpClientSyn.obj
?????文件?????320061??2018-09-22?00:51??MFC\MFC\Debug\HttpRequest.obj
?????文件?????229508??2018-09-22?00:51??MFC\MFC\Debug\HttpTransByGet.obj
?????文件????????920??2018-09-22?00:52??MFC\MFC\Debug\MFC.exe.em
?????文件????????984??2018-09-22?00:52??MFC\MFC\Debug\MFC.exe.em
?????文件????????861??2018-09-25?14:33??MFC\MFC\Debug\MFC.exe.intermediate.manifest
?????文件??????43533??2018-09-22?00:51??MFC\MFC\Debug\MFC.obj
?????文件???25296896??2018-09-22?00:51??MFC\MFC\Debug\MFC.pch
?????文件??????23700??2018-09-22?01:40??MFC\MFC\Debug\MFC.res
?????文件??????85252??2018-09-22?01:37??MFC\MFC\Debug\MFCDlg.obj
?????文件?????????65??2018-09-25?14:33??MFC\MFC\Debug\mt.dep
?????文件?????466299??2018-09-22?00:51??MFC\MFC\Debug\stdafx.obj
?????文件????1190912??2018-09-22?01:37??MFC\MFC\Debug\vc90.idb
?????文件????2256896??2018-09-22?01:37??MFC\MFC\Debug\vc90.pdb
?????文件??????10879??2018-09-19?10:42??MFC\MFC\HttpClientSyn.cpp
?????文件???????1576??2018-09-19?10:47??MFC\MFC\HttpClientSyn.h
?????文件???????6482??2018-09-18?15:04??MFC\MFC\HttpRequest.cpp
?????文件???????1386??2018-09-18?11:11??MFC\MFC\HttpRequest.h
?????文件???????2002??2018-09-19?10:45??MFC\MFC\HttpTransByGet.cpp
............此處省略85個文件信息
評論
共有 條評論