1

次のデータを取得するために、.NET を使用して SQL クエリを作成しています。

DataReader d = null;
d.executeQuery("select * from table where updated_date >= '11/6/2013 12:00:00'");

日時をハードコーディングしたくありません。文字列を初期化してクエリに挿入するにはどうすればよいですか? なりたい

Datetime value = new Datetime(2013, 11, 6, 12, 0, 0);
select * from table where updated_date >= 'value'"

これは可能ですか?

制限は、データベースとユーザー定義のリーダーオブジェクトを照会するための特定の API のセットがあることです。これは私のクエリ API です。

public void executeQuery(文字列クエリ)

4

2 に答える 2

1
var date = new DateTime(2013, 11, 6, 12, 0, 0);
var query = string.Format("select * from table where updated_date >= '{0}'",
                                  date.ToString("MM'/'d'/'yyyy hh:mm:ss"));

アポストロフィを使用して / をセパレータとして指定していることに注意してください。/ だけを使用すると、現在のカルチャの日付区切り記号に置き換えられます。だから私のマシンで

date.ToString("MM/d/yyyy hh:mm:ss")

2013 年 11 月 6 日 12:00:00 を返します

dまた、フォーマット文字列にsingle を使用していることにも注意してください。これは、月が 10 未満の場合は 1 桁を返します。

于 2013-11-07T00:18:08.043 に答える