新建一個工程名叫mysql,編程環(huán)境選擇c#,然后選擇windows窗體應用程序,新建一個窗體用于顯示查詢到sql數(shù)據(jù)庫的數(shù)據(jù)集
專注于為中小企業(yè)提供成都網(wǎng)站制作、成都網(wǎng)站設計、外貿(mào)營銷網(wǎng)站建設服務,電腦端+手機端+微信端的三站合一,更高效的管理,為中小企業(yè)大祥免費做網(wǎng)站提供優(yōu)質的服務。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動了近千家企業(yè)的穩(wěn)健成長,幫助中小企業(yè)通過網(wǎng)站建設實現(xiàn)規(guī)模擴充和轉變。
從工具箱向form1窗體上拖一個按鈕和datagridview控件,按鈕是觸發(fā)連接數(shù)據(jù)庫獲取數(shù)據(jù)集,按鈕的名稱為顯示,datagridview控件是用于顯示數(shù)據(jù)集內(nèi)容
單擊解決方案資源管理器中的引用文件夾然后右鍵選擇添加引用,選擇瀏覽后打開mysql.data.dll,這是c#連接mysql數(shù)據(jù)庫的動態(tài)庫,里面封裝了很多常用的操作數(shù)據(jù)庫的方法
在解決方案資源管理器中的form1.cs的代碼中加入using MySql.Data.MySqlClient;這就是代碼中的實際引用mysql.data.dll中的內(nèi)容,有了這個c#就能很方便地操作sql數(shù)據(jù)庫
在按鈕的單擊事件中添加如下代碼
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);//查詢結果填充數(shù)據(jù)集
dataGridView1.DataSource = ds.Tables[0];
con.Close();//關閉連接
使用navicat軟件在數(shù)據(jù)庫test中新建表user,然后新建兩個字段username和password(圖中的欄位),navicat軟件是mysql的圖形化界面工具,負責新建表以及備份等數(shù)據(jù)庫操作,直觀地通過界面來操作
7
數(shù)據(jù)庫建好后就可以執(zhí)行工程了,單擊顯示按鈕執(zhí)行結果如下,出現(xiàn)username和password說明數(shù)據(jù)庫連接成功,由于沒有添加數(shù)據(jù)所以下面為空
首先,應該熟悉基本的sql語句,至少包括數(shù)據(jù)庫的創(chuàng)建,建表以及表的增、刪、改、查。這是操作所有數(shù)據(jù)庫的根本。
然后,因為具體的數(shù)據(jù)庫有其自身的特性,你使用的是MySQL,那么你需要了解MySQL里面那些相應操作的具體語句。我的建議是,先安裝好MySQL,在命令行登錄連接數(shù)據(jù)庫,然后在命令行中練習,直到對數(shù)據(jù)庫的基本操作(特別是表的增刪改查)都很熟練。至于MySQL的可視化界面,那只是為了方便這些操作的。如果你只是弄一個小程序,可以不用可視化界面。
之后,應該學習如何在程序中操作數(shù)據(jù)庫。這個我想和MFC還是C++沒有太大的關系。程序中使用數(shù)據(jù)庫大體上可以分為以下幾步:
加載驅動
建立數(shù)據(jù)庫的連接
通過上面的連接獲取語句對象
通過語句對象執(zhí)行具體的sql語句,獲取并處理結果集
關閉連接
這每一步都有一些小的知識點,需要你自己去學習。比如加載驅動可能涉及驅動包,建立連接需要知道程序中連接MySQL的url寫法以及用戶名密碼,獲取語句對象分statement和preparestatement,執(zhí)行sql語句分查詢和更新兩類,關閉連接要有先后等等。這些網(wǎng)上應該都能查到資料,而且操作的步驟都是死的,所以只要會了還是不難。我的建議是,先自己寫個小程序,然后實現(xiàn)在這個程序里面對數(shù)據(jù)庫進行操作,只要能夠在這個程序里對數(shù)據(jù)庫進行查詢了,那么這個流程你也就熟悉了,那些復雜的操作也就不難實現(xiàn)了。
另外,在程序中操作數(shù)據(jù)庫和在命令行中操作數(shù)據(jù)庫相差不大,所以練習好在命令行中使用數(shù)據(jù)庫很重要。
一、首先安裝mysql:我這里用的版本是mysql-essential-5.1.45-win32.msi。安裝時遇到一個小問題在這里說一下:首次安裝到最后一步啟動服務時卡住了,電腦死機,我強制退出,結果不能正常運行,然后卸載重裝,由于第一次設置了密碼,即使卸載了文件依然存在,所以第二次安裝遇到設置密碼時它出現(xiàn)要輸入前一次設置的密碼,在這里什么都不要輸入,不然在最后一步會出錯(我重裝了好幾次,才在baidu上查到是這個問題)。
2
二、VC6.0的設置
(1)打開VC6.0 工具欄Tools菜單下的Options選項,在Directories的標簽頁中右邊的“Show directories for:”下拉列表中選中“Includefiles”,然后在中間列表框中添加你本地安裝MySQL的include目錄路徑。(我的是D:\Program Files\MySQL\MySQL Server 5.0\include)。
(2)在上面說到的“Show directories for:”下拉列表中選中“Library files”,然后添加你本地安裝MySQL的Lib目錄路徑。Lib目錄下還有debug和opt兩個目錄,建議選debug。(我的是D:\Program Files\MySQL\MySQL Server 5.0\lib\debug)。
(3)在“Project settings-Link:Object/library modules”里面添加“l(fā)ibmysql.lib”。
(4)在你要連接數(shù)據(jù)庫的文件里加入#include "winsock.h"和#include "mysql.h"兩個文件,這里要注意這兩個頭文件的順序不要顛倒,否則會報錯(這個問題害我baidu了一個上午)。
3
三、數(shù)據(jù)庫、表的創(chuàng)建
打開“開始-所有程序-MySQL-MySQL Server 5.0-MySQL Command Line Client.exe”,如果沒有設置密碼就直接按回車,會提示服務器啟動成功。
mysql SHOW DATABASES;//顯示所有的數(shù)據(jù)庫,注意一定要 敲“;”后再按回車
mysql CREATE DATABASE mydb;//創(chuàng)建數(shù)據(jù)庫mydb
mysql USE mydb;//選擇你所創(chuàng)建的數(shù)據(jù)庫mydb
mysql SHOW TABLES; //顯示數(shù)據(jù)庫中的表
mysql CREATE TABLE mytable (username VARCHAR(50), password VARCHAR(200),);//創(chuàng)建一個表mytable: 用戶名;密碼
mysql DESCRIBE mytable;//顯示表的結構
4
四、VC編程
MYSQL mysql; //數(shù)據(jù)庫連接句柄
mysql_init (mysql);
if(!mysql_real_connect(mysql,"localhost","root","dxd","mydb",3306,NULL,0))
{//mydb為你所創(chuàng)建的數(shù)據(jù)庫,3306為端口號,可自行設定
AfxMessageBox("數(shù)據(jù)庫連接失敗");
return FALSE;
}
5
五、通過上述設置、連接即可對數(shù)據(jù)庫操作了。
1、最簡單的方式:
下載一個MYSQL ODBC驅動,并安裝
2、設置一個MYSQL ODBC數(shù)據(jù)源
3、MFC中調用該數(shù)據(jù)源
4、具體進行數(shù)據(jù)庫何種操作,隨意
5、更多交流可參考我空間主頁有關文章。
錯誤提示:MFC連接mysql時出現(xiàn)Authentication plugin 'caching_sha2_password' cannot be loaded: 找不到指定的模塊。
將abc@123換成自己的密碼
之后關閉命令行,再次連接mysql即可
網(wǎng)頁題目:mfc怎么連接mysql mfc怎么連接算法
當前鏈接:http://jinyejixie.com/article8/docheip.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供虛擬主機、外貿(mào)網(wǎng)站建設、域名注冊、微信公眾號、標簽優(yōu)化、自適應網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)