2016-06-20 17 views
1

現在、カレンダーでクリックした日付に基づいて、データベースからユーザーの予定をすべて取得しようとしています。C#MySqlデータベースのdatetime値が今日であるかどうかを調べる

カレンダーをクリックすると、変数に値が取得されます。 20-06-2016 00:00:00

今、この日付を使用して、今日のすべての予定場所を返信します。 私はこのクエリを使用します: SELECT appo_location WHERE id = 'variable_id' AND date ='variable_date';

これは実際には機能しません。私が実行すると、私はSQL文にエラーがあると言います。私のコードは、これを使用する今日のすべての予定を取得します:20-06-2016 00:00:00?それは一日の始まりに過ぎないからです。

これは私の実際のクエリです:

query = "SELECT afspraak_locatie WHERE id = '" + item + "' AND datum = '" + datum +"'"; 
+4

を作成します。構文エラーは簡単にあなたのコードを見て説明することができます。 – Steve

+3

テーブル名はどこですか? –

+0

@BonMacalindongあなたは正しいです –

答えて

2

日付内のすべてのデータを取得したい場合、あなたは(時間は除く)のみの日付を比較する必要があります。 DATE関数を使用できます。

"SELECT afspraak_locatie FROM your_table_name 
WHERE id = '" + item + "' AND DATE(datum) = DATE('" + your_date_variable + "')" 
+0

' [] 'はMySQLでは有効な構文ではありません。代わりにバッククォートを使用してください。 –

+0

datumはmysql識別子ではないので、バックティックを使用する必要はありません。思い出してくれてありがとう。 –

1

date[date]でなければなりません。 dateはキーワードですので、ご質問のcolumn nameには[date]をご使用ください。それが動作することを願って!

EDIT

あなたのクエリが間違っています。 SELECT(欄)FROM(表)。 FROMはどこですか?

+0

私は、日付 "datum"のためのオランダ語を使用します。私はそれが予約語だとは思わない。 –

+0

あなたの質問は間違っています。 SELECT(列)FROM(表)。 'FROM'はどこですか? –

+0

'[]'はMySQLでは有効な構文ではありません。代わりにバッククォートを使用してください。 –

0

これを試してください。

私は、あなたの実際のコードではなく、それのテンプレートを追加すべきだと思う表

CREATE TABLE A 
    (`id` int, `afspraak_locatie` varchar(1), `date` DATETIME) 
; 

INSERT INTO A 
    (`id`,`afspraak_locatie`, `date`) 
VALUES 
    (1, 'A', '2016-06-20 14:30:00'), 
    (1, 'B', '2016-06-20 15:30:00'), 
    (1, 'C', '2016-06-20 16:30:00'), 
    (1, 'D', '2016-06-20 17:30:00'), 
    (2, 'E', '2016-06-20 15:30:00'), 
    (2, 'F', '2016-06-20 14:30:00'), 
    (2, 'G', '2016-06-20 13:30:00') 
; 

クエリ

SELECT afspraak_locatie 
FROM A 
WHERE id='1' AND DATE(date) = Date('2016-06-20 00:00:00') 

SQLFiddle

関連する問題