バックエンドとして Asp.net c# と MYSql を使用しています。テーブルを更新していますが、テーブルが更新されていません。テーブルには 3 つの列しかありません。
コマンド オブジェクトを実行しているときも例外ではありません。しかし、これは から 0 の値を返しますcmd.ExecuteNonQuery()
。
これをデバッグしたところ、cmd.Parameters が値でいっぱいであることがわかりました。mysqlで更新コマンドを手動で実行すると、正常に動作します。
表は次のとおりです
column -- Datatype
ShortText -- varchar
title -- varchar
id -- int
私を案内してください...
int retVal = 0;
string shortText = ((TextBox)fmvwShortText.FindControl("txtShortText")).Text.Trim();
try
{
int id = Convert.ToInt32(((Label)fmvwShortText.FindControl("lblShrtTextID")).Text);
MySqlConnection con = new MySqlConnection(System.Configuration.ConfigurationManager.AppSettings["conn"]);
cmd = new MySqlCommand();
cmd.Connection = con;
cmd.CommandText = "UPDATE temp_posts SET ShortText=@shrtText WHERE id=@id AND Title=@title";
cmd.Parameters.Add("@shrtText", MySqlDbType.VarChar).Value = shortText;
cmd.Parameters.Add("@title", MySqlDbType.VarChar).Value =Session["EditTitle"].ToString();
cmd.Parameters.Add("@id", MySqlDbType.Int32).Value = id;
con.Open();
retVal = cmd.ExecuteNonQuery();
con.Close();
}
catch (Exception e) { }
return retVal;