C 應用 封裝類訪問 Mysql 資料庫

2022-06-16 05:42:17 字數 4019 閱讀 5651

個人經歷的專案主要都是用 postgresql 或 oracle 資料庫,本文非原創,從他處整理而來。

mysql.data.dll

using mysql.data.mysqlclient;
/// ///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)

}}

public class demo

where createtime > ''", tablenameofgps, selecteddatetime);

// 訪問資料表獲取表資料

dataset dataset = mysqlhelper.getdataset(mysqlhelper.conn, system.data.commandtype.text, sql, null);

datatable dt = dataset.tables[0];

// 遍歷表的資料,把每行的資料都作為乙個攝像頭插入執法儀列表

foreach (datarow dr in dt.rows)

}enforcementlist.add(camera);

}return enforcementlist;

}}

資料訪問 封裝類

為了使 編寫更加規範,讓介面更加美觀簡潔,需要對類進行封裝。分為以下幾個步驟 1,造dbconnection,做乙個鏈結字串的常量 class dbconnection public const string connstring server database mydb uid sa pwd 12...

Python訪問MySQL封裝的常用類

python訪問mysql比較簡單,細節請參考我的另一篇文章 鏈結 檔名 dbutil.py encoding utf8 author crazyant.net version 2013 10 22 封裝的mysql常用函式 import mysqldb class db def init self...

C 類的封裝和訪問控制

類的封裝 1 封裝是main想物件程式設計最基本的特性。把資料 屬性 和函式 操作 合成乙個整體,這在計算機世界中是用類和物件實現的 封裝就是把客觀事物封裝成抽象的類,並且類可以把自己的資料和方法只讓可信的類或者物件操作,對不可信的進行資訊的隱藏 備註 有兩層含義 把屬性和方法進行封裝 對屬性和方法...