gwt html5 database SELECT WHERE AND



iam使用http://code.google.com/p/gwt-mobile-webkit/downloads/list?q=label:API-数据库我的项目。有两个文本框,用户可以键入两个单词。在这两个单词被保存在html数据库中之前,我正在查看这两个词是否已经保存在数据库中。问题是我不知道正确的语法应该是什么样子从单词中选择*FROM单词WHERE word1=value1 AND word2=value2。

final String word1 = view.getWord1TextBox().getValue();
final String word2 = view.getWord2TextBox().getValue();
if(Database.isSupported()){
         Database db = Database.openDatabase("Words", "1.0", "Word App", 10000);
         db.transaction(new TransactionCallback() {
                public void onTransactionStart(SQLTransaction tx) {
                    tx.executeSql("SELECT * FROM words WHERE word1=(?) AND word2=(?)", new Object[]{word1, word2}, new StatementCallback<JavaScriptObject>() {
                        public void onSuccess(SQLTransaction transaction, SQLResultSet<JavaScriptObject> resultSet) {
                             System.out.println(" count of rows : "+ resultSet.getRowsAffected());
                        }
                        public boolean onFailure(SQLTransaction transaction,SQLError error) {

                            return false;
                        }
                    });
                }
                public void onTransactionSuccess() {
                }
                public void onTransactionFailure(SQLError error) {
                    //setTextMessageLabel("Could not open database", label );
                }
            });
    }

resultSet.getRowsAffected()每次都为0correkt查询的外观应该如何?还是还有其他问题?请帮助

你怎么知道你的插入有效?

"SELECT*FROM words"是否返回任何内容?

我使用http://code.google.com/p/gwt-mobile-webkit/wiki/DataServiceUserGuide所以我的语法有点不同,但使用chrome中的开发工具,你可以找到数据库并在其中运行sqlite命令

这样做,这会给我一个错误

从课程中选择*,其中desc=(夏季)

而使用报价工作

从课程中选择*,其中desc=("summer")从desc="summer"的课程中选择*

您可能需要在代码中对其进行转义。。。

"SELECT * FROM words WHERE word1=("?") AND word2=("?")"

最新更新