我在c#
中创建了简单的mysql更新语句string old_string = string.Empty;
string new_string = string.Empty;
using (MySqlConnection cn = new MySqlConnection("Server=hostaddress;Port=3306;Database=dbName;Uid=username;Pwd=password;"))
{
cn.Open();
try
{
string sql_old = @"select * from TBL_VERSION WHERE Id = 1 LIMIT 1";
using (MySqlCommand cmd = new MySqlCommand(sql_old, cn))
{
using (MySqlDataReader reader = cmd.ExecuteReader())
{
reader.Read();
old_string = reader["pos"].ToString();
}
}
string sql = @"UPDATE TBL_VERSION SET pos = '2222' WHERE Id = 1";
using (MySqlCommand cmd = new MySqlCommand(sql, cn))
{
var x = cmd.ExecuteNonQuery();
}
string sql_new = @"select * from TBL_VERSION WHERE Id = 1 LIMIT 1";
using (MySqlCommand cmd = new MySqlCommand(sql_new, cn))
{
using (MySqlDataReader reader = cmd.ExecuteReader())
{
reader.Read();
new_string = reader["pos"].ToString();
}
}
cn.Close();
}
catch (Exception ex)
{
Console.Write(ex.Message);
}
}
然后将数据库自动提交设置为1,在visual studio调试表中更新了Ex。 old_string =" 5555"和new_string =" 2222"。
但是如果我尝试检查其他mysql客户端工具(如SQLYog),当我尝试运行相同的select语句时记录没有改变,但是如果将更新语句直接运行到SQLYog,则记录已成功更新,那么如果我再次调试它已经更新的应用程序。
是否有人遇到这个问题?