iam使用http://code.google.com/p/gwt-mobile-webkit/downloads/list?q=label:API-Database 对于我的项目。 有两个文本框,用户可以键入两个单词。 在将这两个单词保存在html数据库之前,我正在查看这两个单词是否已经保存在数据库中。 问题是我不知道应该如何看起来正确的语法 SELECT * FROM words 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()每次都是= 0 怎么看起来像correkt查询? 还是有另一个问题? 请帮忙
答案 0 :(得分:0)
您如何知道您的插页有效?
“SELECT * FROM words”会返回任何内容吗?
我使用http://code.google.com/p/gwt-mobile-webkit/wiki/DataServiceUserGuide所以我的语法略有不同,但使用chrome中的开发人员工具,您可以找到数据库并在其中运行sqlite命令。
这样做,这给了我一个错误
SELECT * from lesson where desc =(summer)
使用引号时
SELECT * from lesson where desc =(“summer”) SELECT * from lesson其中desc =“summer”
您可能需要在代码中将其转义...
"SELECT * FROM words WHERE word1=(\"?\") AND word2=(\"?\")"