避免因为一个mysql异常而导致整体程序的奔溃
举例:
- 这个方法用于插入新账户数据到数据库中。
- 创建一个
MySqlCommand
对象,执行插入操作,向表 "account" 中插入新数据。 - 使用
AddWithValue
方法为插入语句中的各个@参数绑定实际的值。 - 执行插入操作,并返回插入数据的 ID
private int InsertNewAcctData(string acct, string pass, PlayerData pd)
{
int id = -1;
MySqlCommand cmd = new MySqlCommand(
"INSERT INTO account (acct, pass, name, level, exp, power, coin, diamond) VALUES (@acct, @pass, @name, @level, @exp, @power, @coin, @diamond)", conn);
try
{
conn.Open();
cmd.Parameters.AddWithValue("@acct", acct);
cmd.Parameters.AddWithValue("@pass", pass);
cmd.Parameters.AddWithValue("@name", pd.name);
cmd.Parameters.AddWithValue("@level", pd.lv);
cmd.Parameters.AddWithValue("@exp", pd.exp);
cmd.Parameters.AddWithValue("@power", pd.power);
cmd.Parameters.AddWithValue("@coin", pd.coin);
cmd.Parameters.AddWithValue("@diamond", pd.diamond);
cmd.ExecuteNonQuery();
id = (int)cmd.LastInsertedId;
}
catch (Exception e)
{
PECommon.Log("插入新账号失败: " + e.Message, LogType.Error);
}
finally
{
if (conn.State == ConnectionState.Open)
{
conn.Close();
}
}
return id;
}