2012-05-11 17 views
1

私は日付(日付データ型)の列を持つSQLサーバーデータベースとテーブルを持っています。すべてのレコードの日付列の値を今日の日付に変更したいのですが、何かが機能していないので、助けてください。私のコード: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(); 

おかげで、オーク

EDIT:答えを 感謝。 データベースに記録されているレコードが多すぎて、デフォルトの更新タイムアウトが30秒か何かのために動作していないのが原因でした。なぜレコードが変更されなかったのか。 updateDate.CommandTimeout = 0;問題を修正しました。

+0

回答ありがとうございます。 データベースに記録されているレコードが多すぎて、デフォルトの更新タイムアウトが30秒か何かのために動作していないのが原因でした。なぜレコードが変更されなかったのか。 updateDate.CommandTimeout = 0;問題を修正しました。 – Oak

答えて

0

回答ありがとうございます。 データベースに記録されているレコードが多すぎて、デフォルトの更新タイムアウトが30秒か何かのために動作していないのが原因でした。なぜレコードが変更されなかったのか。 updateDate.CommandTimeout = 0;問題を修正しました。

5

私はこの行を考える:

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

は次のようになります。

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

使用@Dateの代わりに、Date

updateDate.Parameters.AddWithValue("@Date", date); 
1
//Replace 
updateDate.Parameters.AddWithValue("Date", date); 

// with (watch the @-symbol) 
updateDate.Parameters.AddWithValue("@Date", date); 
1

を試してみてください
updateDate.Parameters.AddWithValue("@Date", date); 
-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(); 
+0

where句がない場合は、すべての行が更新されます – Gratzy

+0

更新にwhere句は必要ありません – Arion

+0

すべてのレコードを更新しない限り、1つのレコードを持つほうがいい –

0

@DateDateを交換してください。

updateDate.Parameters.AddWithValue("@Date", date); 
関連する問題