1

私はSQLサーバーデータベースと日付の列を持つテーブル(日付データ型)を持っています。すべてのレコードの日付列の値を今日の日付に変更したいのですが、うまくいきません。助けてください。私のコード:

 con.Open();
 DateTime date = DateTime.Now.Date;
 string insStr = "UPDATE tblBusiness SET DateCreated = @Date;";
 SqlCommand updateDate = new SqlCommand(insStr, con);
 updateDate.Parameters.AddWithValue("Date", date);
 updateDate.ExecuteNonQuery();
 con.Close();

ありがとう、オーク

編集:答えてくれてありがとう。それが機能しなかった理由は、データベース内のレコードが多すぎて、デフォルトの更新タイムアウトが 30 秒か何かだったからです。それが、記録が変更されなかった理由です。updateDate.CommandTimeout = 0; 問題を修正しました。

4

7 に答える 7

5

私はこの行だと思います:

updateDate.Parameters.AddWithValue("Date", date);

次のようにする必要があります。

updateDate.Parameters.AddWithValue("@Date", date);
于 2012-05-11T14:18:10.133 に答える
2

@Dateの代わりに使用Date

updateDate.Parameters.AddWithValue("@Date", date);
于 2012-05-11T14:18:41.897 に答える
1
//Replace
updateDate.Parameters.AddWithValue("Date", date);

// with (watch the @-symbol)
updateDate.Parameters.AddWithValue("@Date", date);
于 2012-05-11T14:19:10.303 に答える
1

試す

updateDate.Parameters.AddWithValue("@Date", date);
于 2012-05-11T14:19:31.910 に答える
0

答えてくれてありがとう。それが機能しなかった理由は、データベース内のレコードが多すぎるためであり、デフォルトの更新タイムアウトは 30 秒程度です。それが、記録が変更されなかった理由です。updateDate.CommandTimeout = 0; 問題を修正しました。

于 2012-05-13T16:20:50.003 に答える
0

に置き換えDateます@Date

updateDate.Parameters.AddWithValue("@Date", date);
于 2012-05-11T14:21:41.807 に答える
-1

これはうまくいくはずです。すべてのレコードを更新する場合、where 句は必要ありません。

con.Open();
 DateTime date = DateTime.Now.Date;
 string insStr = "UPDATE tblBusiness SET DateCreated = " + date;
 SqlCommand updateDate = new SqlCommand(insStr, con);
 updateDate.ExecuteNonQuery();
 con.Close();
于 2012-05-11T14:19:54.930 に答える