0

WebSQLを使用してアラートツールを作成しています。

特定の日に発生するすべてのイベントを選択したい。イベントを挿入するとき、この形式「2011-10-14」の日付オブジェクトとして日付を挿入します。今日発生するすべてのイベントを選択するには、selectステートメントに何を書き込む必要がありますか?

私はこのように作ります

 cur =new Date();
alert(cur);
db.transaction(function(tx){
    tx.executeSql("select NOTE_DESC,NOTE_DATE,NOTE_TIME,ALERT_TIME,NOTES_MORE_DETAILS from NOTES where NOTE_DATE = "+cur+" order by NOTE_TIME asc limit 0,1",[], alert("yes"),onError);
});

私の質問は次のとおりです。

select NOTE_DESC, NOTE_DATE, NOTE_TIME, ALERT_TIME, NOTES_MORE_DETAILS 
from NOTES 
where NOTE_DATE = "+cur+" 
order by NOTE_TIME asc 
limit 0,1

しかし、「10月近く:構文エラー」というエラーメッセージが表示されます。

SQLで日付を比較するにはどうすればよいですか?

4

1 に答える 1

1

私はあなたが望むと信じています:

NOTE_DATE = '"+cur.getFullYear()+'-'+(cur.getMonth()+1)+'-'+cur.getDate()+"'

'クエリ変数の値をラップし、cur日付オブジェクトのメソッドを呼び出して日付を作成することに注意してください。

http://jsfiddle.net/yXgDw/

さらに良いことに、準備されたクエリを使用します。

http://www.w3.org/TR/webdatabase/#dom-sqltransaction-executesql

http://www.w3.org/TR/webdatabase/#introduction

于 2011-10-13T00:48:06.397 に答える