C 連線MySQL資料庫

2021-10-25 10:00:44 字數 4307 閱讀 5963

本文章是建立在已經安裝mysql資料庫的前提,預設安裝在c:\program files

(x86)\mysql,建議在安裝時選中connector.net 6.9的安裝,裡面有mysql與c#連線的動態鏈結庫。

幫助文件c:\program files (x86)\mysql\connector.net

6.9\documentation\connectornet.chm是我撰寫此文章的主要依據。其中users guide下,programming是對動態鏈結庫8個類的介紹,tutorial是案例**。

連線資料庫、運算元據庫,本質是利用資料庫提供的動態鏈結庫mysql.data.dll進行操作。mysql.data.dll提供以下8個類:

方法二:安裝資料庫mysql時要選中connector.net 6.9的安裝,將c:\program files

(x86)\mysql\connector.net

6.9\assemblies裡v4.0或v4.5中的mysql.data.dll新增到專案的引用。v4.0和v4.5,對應visual studio具體專案 屬性-應用程式-目標框架 裡的.net framework的版本號。

2.建立連線(mysqlconnection類)

using mysql.data.mysqlclient;

string connetstr =

"server=127.0.0.1;port=3306;user=root;password=root; database=minecraftdb;"

;// server=127.0.0.1/localhost 代表本機,埠號port預設是3306可以不寫

mysqlconnection conn =

newmysqlconnection

(connetstr)

;try

catch

(mysqlexception ex)

finally

3.捕捉異常(mysqlexception類)   連線錯誤時mysqlconnection會返回乙個mysqlexception,其中包括2個變數:

message: a message that describes the current exception.

number: the mysql error number. (0: cannot connect to server. 1045:

invalid user name and/or password.)

catch

(mysqlexception ex)

}

4.增刪查改的**(mysqlcommand類、mysqldatareader類)   executereader——用於查詢資料庫。查詢結果是返回mysqldatareader物件,mysqldatareader包含sql語句執行的結果,並提供乙個方法從結果中閱讀一行。

executenonquery——用於插入、更新和刪除資料。

executescalar——用於查詢資料時,返回查詢結果集中第一行第一列的值,即只返回乙個值。

(1) 查詢

a.查詢條件固定

string sql=

"select * from user"

;mysqlcommand cmd =

newmysqlcommand

(sql,conn)

;mysqldatareader reader =cmd.

executereader()

;//執行executereader()返回乙個mysqldatareader物件

while

(reader.

read()

)//初始索引是-1,執行讀取下一行資料,返回值是bool

b.查詢條件不固定

//string sql = "select * from user where username='"+username+"' and password='"+password+"'"; //我們自己按照查詢條件去組拼

string sql =

"select * from user where username=@para1 and password=@para2"

;//在sql語句中定義parameter,然後再給parameter賦值

mysqlcommand cmd =

newmysqlcommand

(sql, conn)

;cmd.parameters.

addwithvalue

("para1"

, username)

;cmd.parameters.

addwithvalue

("para2"

, password)

;mysqldatareader reader = cmd.

executereader()

;if(reader.

read()

)//如果使用者名稱和密碼正確則能查詢到一條語句,即讀取下一行返回true

c.需要查詢返回乙個值

string sql =

"select count(*) from user"

;mysqlcommand cmd =

newmysqlcommand

(sql, conn)

;object result=cmd.

executescalar()

;//執行查詢,並返回查詢結果集中第一行的第一列。所有其他的列和行將被忽略。select語句無記錄返回時,executescalar()返回null值

if(result !=

null

)

(2) 插入、刪除、更改

string sql =

"insert into user(username,password,registerdate) values('啊寬','123','"

+datetime.now+

"')"

;//string sql = "delete from user where userid='9'";

//string sql = "update user set username='啊哈',password='123' where userid='8'";

mysqlcommand cmd =

newmysqlcommand

(sql,conn)

;int result =cmd.

executenonquery()

;//3.執行插入、刪除、更改語句。執行成功返回受影響的資料的行數,返回1可做true判斷。執行失敗不返回任何資料,報錯,下面**都不執行

5.事務(mysqltransaction類)

string connetstr =

"server=127.0.0.1;user=root;password=root;database=minecraftdb;"

;mysqlconnection conn =

newmysqlconnection

(connetstr)

;conn.

open()

;//必須開啟通道之後才能開始事務

mysqltransaction transaction = conn.

begintransaction()

;//事務必須在try外面賦值不然catch裡的transaction會報錯:未賦值

console.

writeline

("已經建立連線");

trycatch

(mysqlexception ex)

finally

}

結語:連線資料庫、運算元據庫,本質是利用資料庫提供的動態鏈結庫mysql.data.dll進行操作。動態鏈結庫中的8個類上面常用操作只用到了類1-5,類6-8

的相關操作未涉及, 大家可以去看幫助文件c:\program files (x86)\mysql\connector.net

6.9\documentation\connectornet.chm學習。

C 連線MySQL資料庫

下面的 是乙個實現c 連線mysql資料庫的很好的例子 這裡用了建表,插入,檢索,刪表等常用功能 我用vc 6.0生成,已經成功連線了。在vc 6.0中要想把做一下兩步準備工作才可以。1 tools options directories include files中新增c program file...

C 連線 mysql資料庫

最近在學習使用資料庫進行c 開發專案的資料管理。學習了下sql server 和mysql的東西。這兩個比較相似,而且容易上手,準備以後用這個了。首先,使用c 連線資料庫,要有c 和資料庫之間通訊的介面。接下來,就是建立與資料庫的連線了。這裡使用的是連線字串。一開始學習,網上各種材料直接給出了像st...

C 連線MySql資料庫

然後新增mysqldata.dll到c 專案的引用中,然後就可以編寫程式進行資料庫的操作了。3 資料庫操作 insertmysql.csusing system using system.collections using system.linq using system.text using my...