2017-04-13 20 views
-2

今日の日付がアクセスデータテーブルの日付と等しいかどうかを確認したいが、文字列を "system .data。data table"に変換することはできないと言います。どうすればいいですか?現在の日付とデータテーブルの日付をチェックする方法は?

public void ToDay() 
{ 
    DateTime dateTime = DateTime.UtcNow.Date; 
    string d = (string)Session["gouser"]; 

    DataTable t; 
    t="SELECT * FROM [ToDoList] where [UserID]='" 
     + d + "' AND [D]='" 
     + **dateTime.Date** + "'"); 
} 
+6

文字列はDataTableではありません。アクセスするために接続を開いて、アダプタを作成して、sqlコマンドでデータテーブルを埋める必要があります。これは必要な詳細で説明するには広すぎます。 – Steve

+1

あなたはDataTableとしてtを宣言しました。次に、文字列を割り当てます。データリーダーを使用する方法については、 Googleをご覧ください。 – Matt

答えて

1

あなたは常に現在の日付を使用してしようとしている場合は、アクセス日()の代わりに変数を移入し、それを渡すの機能を使用することができます。

public void ToDay() { 
    string d = (string)Session["gouser"]; 

    var query = " 
     SELECT * FROM [ToDoList] 
     WHERE [UserID]='" + d + "' 
     AND [D]= Date();"; 

    DataTable t = query.CopyToDataTable(); 
} 
+0

あなたはまだコンパイルされないことに気付きました...あなたは 'DataTable'オブジェクトに文字列を割り当てようとしています –

+0

@Rufus、Better now? –

0

あなたが使用することができますGETDATE()SQL関数:

public void ToDay() 
{ 
    string d = (string)Session["gouser"]; 

    DataTable t; 
    t="SELECT * FROM [ToDoList] where [UserID]='" 
    + d + "' AND [D]= GETDATE()"; 
} 
+0

これはAccessであり、SQL Serverではなく、GetDate()はDate and Timeを返します。これはDate onlyフィールドと一致しません –

関連する問題