のデバッグモードで1つのセルを更新しようとしていますが、何らかの理由でそのコードが実行されることはありません。エラーは発生しません。テーブルのセルが更新されない
これは私のコードです:
else//wrong try!
{
int errors;
string gameHistory = Request.QueryString[0];
errors = int.Parse(gameHistory);
string query = "UPDATE HistoryOfGames SET [email protected] WHERE ID='"+gameHistory+"'";
con = new SqlConnection("Data Source=MICROSOF-58B8A5\\SQL_SERVER_R2;Initial Catalog=Daniel;Integrated Security=True");
con.Open();
string query2 = "SELECT NumberOfErrors FROM HistoryOfGames WHERE ID='"+gameHistory+"'";
SqlCommand command = new SqlCommand(query2, con);//checks how much errors was in the last time played.
errors =(int)command.ExecuteScalar();
command = new SqlCommand(query, con);
command.Parameters.AddWithValue("@NumberOfErrors", errors);//set a new error.
command.ExecuteNonQuery();
con.Close();
}
感謝!
あなたのsqlクエリはwhere節が間違っています。 intフィールドと文字列値を比較しようとしています。一般的には、SqlParameterのみを使用してください...多くの理由で、特にパラメータのタイプが間違って処理されるのを避けるためです。(主な理由はセキュリティです) –
通常、IDフィールドは数値でなければなりませんが、 。最初に、私はあなたの文字列変数gameHistoryの値が何であるかを確認するでしょう。何か問題がある場合は、パラメータに変数(コード例ではVariableName)を指定して、コードで次のように呼び出します。Request.QueryString ["VariableName"]; –
以前に選択した古い値でレコードを更新しているため、「何らかの理由で決して影響を受けない」ということは不思議ではありません。あなたはそれを更新する前に1を増やしたいでしょうか? –