在游戏开发中,基本上都会用到数据库,有机会学习了一下数据库方面的简单操作,虽然正式项目中不会像下面这么的使用,这也是自己的一点学习心得总结,仅供参考学习使用而已;
首先先创建一个表格,先把表格的字段属性贴出来,以方便后面理解(数据库安装、数据库新建、表格的创建这里不再讲述,有兴趣的话可以自行查看相关资料)
再接着创建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();
}
查询结果
插入数据结果
插入数据成功之后,我们在用上面查询的方法查看一下新插入的数据
在这里只是进行了查询、插入数据的操作,其它更新、删除操作可类似进行处理,不在详细讲述;
本文为原创作品,如有雷同,纯属巧合;
文中若有不当之处,欢迎指正,共同学习,谢谢;