C 訪問和操作MYSQL資料庫

2022-03-12 18:46:47 字數 4652 閱讀 3546

1.將mysql.data.dll引用到你的專案中

新增引用後在你的資料庫操作類(如mysqlhelper.cs)中新增引用宣告

using mysql.data;

using mysql.data.mysqlclient;

2.新增乙個mysqlhelper類來對mysql資料庫進行操作。 mysqlhelper.cs網上有很多列子,把**拷下來就可以直接使用。如果裡面的excecutenonquery、getdataset等基本訪問資料庫方法還是無法滿足你開發需求的話,你還可以自己重新改寫**來擴充其功能。

mysqlhelper:

using

system;

using

system.collections;

using

system.configuration;

using

mysql.data;

using

mysql.data.mysqlclient;

using

system.data;

//////

mysqlhelper 的摘要說明

///public

abstract

class

mysqlhelper

}//////

用現有的資料庫連線執行乙個sql命令(不返回資料集)

/// ///

乙個現有的資料庫連線

///命令型別(儲存過程, 文字, 等等)

///儲存過程名稱或者sql命令語句

///執行命令所用引數的集合

///執行命令所影響的行數

public

static

int executenonquery(mysqlconnection connection, commandtype cmdtype, string cmdtext, params

mysqlparameter commandparameters)

//////

使用現有的sql事務執行乙個sql命令(不返回資料集)

/// ///

///舉例:

///int result = executenonquery(connstring, commandtype.storedprocedure, "publishorders", new mysqlparameter("@prodid", 24));

/// ///

乙個現有的事務

///命令型別(儲存過程, 文字, 等等)

///儲存過程名稱或者sql命令語句

///執行命令所用引數的集合

///執行命令所影響的行數

public

static

int executenonquery(mysqltransaction trans, commandtype cmdtype, string cmdtext, params

mysqlparameter commandparameters)

//////

用執行的資料庫連線執行乙個返回資料集的sql命令

/// ///

///舉例:

///mysqldatareader r = executereader(connstring, commandtype.storedprocedure, "publishorders", new mysqlparameter("@prodid", 24));

/// ///

乙個有效的連線字串

///命令型別(儲存過程, 文字, 等等)

///儲存過程名稱或者sql命令語句

///執行命令所用引數的集合

///包含結果的讀取器

public

static mysqldatareader executereader(string connectionstring, commandtype cmdtype, string cmdtext, params

mysqlparameter commandparameters)

catch

}//////

返回dataset

/// ///

乙個有效的連線字串

///命令型別(儲存過程, 文字, 等等)

///儲存過程名稱或者sql命令語句

///執行命令所用引數的集合

///public

static dataset getdataset(string connectionstring, commandtype cmdtype, string cmdtext, params

mysqlparameter commandparameters)

catch

(exception e)

}//////

用指定的資料庫連線字串執行乙個命令並返回乙個資料集的第一列

/// ///

///例如:

///object obj = executescalar(connstring, commandtype.storedprocedure, "publishorders", new mysqlparameter("@prodid", 24));

/// ///

乙個有效的連線字串

///命令型別(儲存過程, 文字, 等等)

///儲存過程名稱或者sql命令語句

///執行命令所用引數的集合

///用 convert.to把型別轉換為想要的

public

static

object executescalar(string connectionstring, commandtype cmdtype, string cmdtext, params

mysqlparameter commandparameters)

}//////

用指定的資料庫連線執行乙個命令並返回乙個資料集的第一列

/// ///

///例如:

///object obj = executescalar(connstring, commandtype.storedprocedure, "publishorders", new mysqlparameter("@prodid", 24));

/// ///

乙個存在的資料庫連線

///命令型別(儲存過程, 文字, 等等)

///儲存過程名稱或者sql命令語句

///執行命令所用引數的集合

///用 convert.to把型別轉換為想要的

public

static

object executescalar(mysqlconnection connection, commandtype cmdtype, string cmdtext, params

mysqlparameter commandparameters)

//////

將引數集合新增到快取

/// ///

新增到快取的變數

///乙個將要新增到快取的sql引數集合

public

static

void cacheparameters(string cachekey, params

mysqlparameter commandparameters)

//////

找回快取引數集合

/// ///

用於找回引數的關鍵字

///快取的引數集合

public

static mysqlparameter getcachedparameters(string

cachekey)

//////

準備執行乙個命令

/// ///

sql命令

///oledb連線

///oledb事務

///命令型別例如 儲存過程或者文字

///命令文字,例如:select * from products

///執行命令的引數

private

static

void preparecommand(mysqlcommand cmd, mysqlconnection conn, mysqltransaction trans, commandtype cmdtype, string

cmdtext, mysqlparameter cmdparms)

}}複製**

mysqlhelper裡面的方法和sqlhelper差不多,就不一一說明了。

除此之外引用dbutility類庫也是乙個很好的選擇,dbutility.dll是乙個整合sqlhelper、mysqlhelper以及oraclehelper等眾多資料庫操作類的類庫,新增引用後就可以直接呼叫其中方法對資料庫進行查詢、編輯等操作,十分的方便。

/資料庫連線字串

public

static

string conn = "

database='資料庫名';data source='資料庫伺服器位址';user id='資料庫使用者名稱';password='密碼';charset='utf8';pooling=true

";

由於phpmyadmin相當於乙個小型**,因此在你的資料庫連線中還要設定下phpmyadmin編碼charset='utf8'

C 訪問和操作MYSQL資料庫

這裡介紹下比較簡單的方式,引用mysql.data.dll然後新增乙個mysqlhelper類來對mysql資料庫進行訪問和操作。1.將mysql.data.dll引用到你的專案中 新增引用後在你的資料庫操作類 如mysqlhelper.cs 中新增引用宣告 using mysql.data usi...

c 訪問mysql資料庫

c 訪問mysql資料庫,實現 show database功能 連線之前。先用mysql init初始化mysql連線控制代碼 1.mysql init mysql 使用mysql real connect連線server,其引數依次為mysql控制代碼。serverip位址。登入mysql的use...

c 操作mysql資料庫

include include stdio.h include winsock.h include mysql.h int main else else sprintf tmp,update s set 商品 s 賣出 d,成交 d,漲跌 d,買進 d,總量 d,漲幅 f,時間 s where s ...