こんにちは、私はvarcharのメモフィールドとdatetimefieldにアクセスする必要があるテーブルから削除しようとします。ここでWHERE句でvarcharとdatetimeフィールドを含む削除クエリを実行する方法
は、コードは次のとおりです。
DateTime test = (DateTime)powerPlant.timestamp;
string DateUS = test.ToString("s");
string deletePowerPlant =
String.Format(
"DELETE FROM [dbo].[tblSPpowerPlants] WHERE [timestamp] = CONVERT(datetime,"+ DateUS +",111) AND [note] = {0};",
note);
SqlCommand sqlDelete = new SqlCommand(deleteComponents, sqlConnection);
sqlDeletePowerPlant.CommandType = CommandType.Text;
sqlDeletePowerPlant.CommandText = deleteComponents;
sqlDeletePowerPlant.ExecuteNonQuery();
とはい通常、私は、SQLパラメータを使用しますが、私はそれだけで何とかそれが可能でなければならないbecouseそれをテストするためのパラメータなしで動作する方法を知りたいです。私はそれを他のフォーラムやブログと一緒にgoogleにしようとしたが運がなかった。
あなたの助けと私の英語のためにごめんなさいThx。
EDIT
フィールドのタイムスタンプは、テーブル内の日時です。 noteは、表のnvarcharです。そして、私はただ一度それを使用したいので、私はパラメータなしでそれを行う方法を知っていると言うことができます。私はその悪いを知っている....
あなたの '{0}'の周りに '' 'sを置く必要がありますが、それ以外にあなたの持っているものは何ですか? – CodingGorilla
[documentation](https://msdn.microsoft.com/de-de/library/ms187928(v = sql.120).aspx)によると、書式指定子111は日本語の 'jjjj/mm/tt'です。 101を意味しましたか? – dlatikay
エラーの原因としては、datetimeオブジェクトを比較する可能性があります。これは日付と時刻の比較につながりますので、SQLのインスタンスのDATE()関数を使用して、時刻だけでなく日付を比較することもできます。 – Trickzter