0

次のSQLコードはSQLiteManagerおよび他のSQLiteシステムで正常に機能しますが、Titaniumで使用すると、「Uncaught SyntaxError:UnexpectedString」が発生します。構文が間違っている場合、Titanium用にどのようにコーディングする必要がありますか?

    SELECT Date, Content
    FROM MYDATABASE
    WHERE strftime('%m%d', Date) = strftime('%m%d', date('now')) 
4

1 に答える 1

1

テーブルをMYDATABASEと呼びましたか?デバッガーをステップスルーして、それを確認していますかvar rs = db.execute("SELECT Date, Content FROM MYDATABASE WHERE strftime('%m%d', date) = strftime('%m%d', date('now')) ");

私のTitaniumMobileプロジェクトでは、最初にデータベースを定義しました。

var db = Ti.Database.open('myDb');
db.execute('CREATE TABLE IF NOT EXISTS [MYDATABASE](id INTEGER PRIMARY KEY AUTOINCREMENT, Date DATE, Content TEXT)');
db.close();

次に、関数呼び出しからこのコードを実行しました

var db = Ti.Database.open('myDb');
var myresult = db.execute("INSERT INTO MYDATABASE(Date, Content) VALUES (date('now'), '12345')");
myresult = db.execute("SELECT Date, Content FROM MYDATABASE WHERE strftime('%m%d', Date) = strftime('%m%s', date('now')) ");
Ti.API.info('myresult: ' + myresult.fieldByName('Content'));

このコードは、デバッグウィンドウにmyresult:12345を正常に返します。コードの流れを確認できるように、ソースコードの重要な部分を提供する必要があります。私たちに作品を与えることはうまくいきません。

残念ながら、これを別のコンピューターからテストする必要があり、ここで再入力してもエラーが発生しなかったと思います。」

于 2012-07-17T14:30:41.893 に答える