1

私はVSと.NETにかなり慣れていません。

SQL Server 2008 DB から DataGridView コントロールにデータを取得する新しいフォームを (既存の VB.NET アプリケーションで) 作成しました。

また、ユーザーが表示されたデータをフィルタリングできるようにする必要があるため、開始日用と終了日用の 2 つの Datetimepicker コントロールを追加しました。

ユーザーが [フィルターを適用] ボタンをクリックすると、グリッド クライアント側でデータをフィルター処理するか (MS Excel にコピーして貼り付けるためだけです)、2 つの日付をフィルターとして使用してデータベースを再クエリします...

そこで、VB コードで次のような SQL クエリ文字列を作成しました。

    sSQLQry = "SELECT * FROM ReturnUnpaidData_Audit WHERE [AuditDateTime]<= " & Me.dtPicketEndDate.Value.ToString & " AND [AuditDateTime]>= " & Me.dtPicketEndDate.Value.ToString

これにより、次のようなクエリ文字列が得られます。

SELECT * FROM ReturnUnpaidData_Audit WHERE [AuditDateTime]>= 01/03/2013 15:28:09 AND [AuditDateTime]>= 01/03/2013 15:28:09

これは(当然のことながら)機能しません...

だから私は少し立ち往生しています-誰かが私を正しい方向に向けるか、それを行うための最良の方法を見つけるのを手伝ってくれませんか.

ところで、これは小規模なアプリケーション向けであり、多くのデータはなく (ほとんどの場合数行しかありません)、4 人または 5 人のユーザーです... ビッグデータやパフォーマンスについてあまり心配する必要はありません

4

2 に答える 2

1

時間なしで日付値のみを使用しているためDtPicketEndDate.Value.date、フォーマットの代わりに使用することもできます 。

于 2014-03-08T07:18:51.760 に答える
1

' 日付値を引用符で囲み、時刻なしで書式設定する必要がありますか?
WHERE [AuditDateTime]<='" & Me.dtPicketEndDate.Value.ToString("yyyy-MM-dd") & "'"

また、BETWEEN少しエレガントです。
http://msdn.microsoft.com/en-us/library/ms187922.aspx

于 2013-03-11T16:09:50.850 に答える