SQLite Titanium语法错误 [英] SQLite Titanium Syntax Error
问题描述
以下SQL代码在SQLite Manager和其他SQLite系统中运行良好,但是在Titanium中使用它时,出现未捕获的SyntaxError:意外的字符串".如果我的语法错误,应该如何为Titanium编码?
The following SQL code works fine in SQLite Manager and in other SQLite systems, however when I use it in Titanium I get an "Uncaught SyntaxError: Unexpected String." If my syntax is wrong, how should it be coded for Titanium?
SELECT Date, Content
FROM MYDATABASE
WHERE strftime('%m%d', Date) = strftime('%m%d', date('now'))
推荐答案
您是否将表称为MYDATABASE?您是否正在逐步调试程序并确认var rs = db.execute("SELECT Date, Content FROM MYDATABASE WHERE strftime('%m%d', date) = strftime('%m%d', date('now')) ");
Did you call your table MYDATABASE? Are you stepping through the debugger and confirming that var rs = db.execute("SELECT Date, Content FROM MYDATABASE WHERE strftime('%m%d', date) = strftime('%m%d', date('now')) ");
在我的Titanium Mobile项目中,我首先定义了数据库:
In my Titanium Mobile project I first defined the database:
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();
然后我从一个函数调用中执行了这段代码
I then executed this code from a function call
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.您可能需要向我们提供很大一部分源代码,以便我们可以看到代码的流程.给我们零件是行不通的.
This code returns myresult: 12345 in the debug window successfully for me. You probably need to provide us with a significant part of the source code so we can see the flow of the code. Giving us pieces isn't working.
不幸的是,我不得不在另一台计算机上进行测试,希望在这里重新输入时不会出错"
Unfortunately, I had to test this from another computer and hopefully didn't make any errors re-typing it here"
这篇关于SQLite Titanium语法错误的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!