在遊戲開發中,基本上都會用到數據庫,有機會學習了一下數據庫方面的簡單操作,雖然正式項目中不會像下面這麼的使用,這也是自己的一點學習心得總結,僅供參考學習使用而已;
首先先創建一個表格,先把表格的字段屬性貼出來,以方便後面理解(數據庫安裝、數據庫新建、表格的創建這裏不再講述,有興趣的話可以自行查看相關資料)
再接着創建MySqlMgr.cs類
使用MySql相關API,先要引入MySql.Data.dll(其它相關的程序集自行引入);
下載地址:MySql.data.dll
using MySql.Data.MySqlClient;
public class MySqlMgr {
public string ConnectionString { get; private set;}
private MySqlConnection myConnection;
public MySqlMgr() {
}
/// <summary>
/// 傳入需要連接的數據庫信息來創建連接
/// </summary>
/// <param name="connectionString">對應數據庫的連接信息</param>
public void CreateConnection(string connectionString) {
ConnectionString = connectionString;
myConnection = new MySqlConnection(ConnectionString);
}
/// <summary>
/// 輸入查詢語句進行數據查詢,在控制檯輸出
/// </summary>
/// <param name="sql">sql 命令語句</param>
public void SelectDataFromTable(string sql) {
string sqlCommand = sql;
MySqlCommand command = new MySqlCommand(sqlCommand, myConnection);
//開啓數據庫連接
myConnection.Open();
//使用數據庫查詢使用 ExecuteReader() 方法
MySqlDataReader reader = command.ExecuteReader();
Console.WriteLine("Id\tName\tScore");
while(reader.Read()) {
Console.Write(reader.GetInt32(0) + "\t");
//對數據庫的某一字段是否爲空進行判斷
if(reader.IsDBNull(1)) {
Console.Write("Null\t");
} else {
Console.Write(reader.GetString("name") + "\t");
}
if(reader.IsDBNull(2)) {
Console.Write("Null\n");
} else {
Console.Write(reader.GetInt32(2) + "\n");
}
}
//使用完之後關閉數據庫連接
myConnection.Close();
}
/// <summary>
/// 向數據庫表中插入一條新的數據
/// </summary>
/// <param name="sql">mysql插入數據的命令語句</param>
/// <param name="parameters">執行的語句中傳入相關參數</param>
public void InsertDataIntoTable(string sql, List<MySqlParameter> parameters) {
string sqlCommand = sql;
MySqlCommand command = new MySqlCommand(sql, myConnection);
command.Parameters.AddRange(parameters.ToArray());
myConnection.Open();
// 對數據庫的插入、更新、刪除,使用 ExecuteNonQuery() 方法
int rowsCount = command.ExecuteNonQuery();
if(rowsCount == 1) {
Console.WriteLine("Insert Into Success");
} else {
Console.WriteLine("Insert Into Faile");
}
myConnection.Close();
}
/// <summary>
/// 類似於析構函數
/// </summary>
public void Dispose() {
if(myConnection != null) {
myConnection.Dispose();
}
}
}
這個就先簡單寫到這裏,下面在Program.cs中進行使用和測試;
static void Main(string[] args) {
//string connectString = "data source=localhost;database=數據庫名稱;user id=數據庫用戶名;password=數據庫密碼;pooling=false;charset=utf8;";
string connectString = "data source=localhost;database=db_5;user id=wsh;password=wsh;pooling=false;charset=utf8;";
MySqlMgr mySqlMgr = new MySqlMgr();
mySqlMgr.CreateConnection(connectString);
//查詢
mySqlMgr.SelectDataFromTable("select * from t_score");
// 插入新數據(解開下面註釋測試)
//List<MySqlParameter> parameters = new List<MySqlParameter>();
//parameters.Add(new MySqlParameter("@name", "xiaoming"));
//parameters.Add(new MySqlParameter("@score", 1000));
//mySqlMgr.InsertDataIntoTable("insert into t_score values(null, @name, @score)", parameters);
mySqlMgr.Dispose();
Console.ReadLine();
}
查詢結果
插入數據結果
插入數據成功之後,我們在用上面查詢的方法查看一下新插入的數據
在這裏只是進行了查詢、插入數據的操作,其它更新、刪除操作可類似進行處理,不在詳細講述;
本文爲原創作品,如有雷同,純屬巧合;
文中若有不當之處,歡迎指正,共同學習,謝謝;