【问题标题】:How to get column name on searching data base sqlite?如何在搜索数据库 sqlite 时获取列名?
【发布时间】:2013-11-01 05:20:54
【问题描述】:

我有一个表名 CaseTable 。我想获取列 CaseName 中具有相同文本的所有条目。

CaseName    data
1           data is well 

 2        check

 3         test

 4          data

我喜欢这样,但遇到错误

db.transaction(test, errorCB);

function test(tx) {
  alert("test")
    tx.executeSql('SELECT CaseName FROM CaseTable where CaseTable MATCH' +"'+ data+'" ,[], testSuccess, testerrorDB);

  //  tx.executeSql('INSERT OR IGNORE INTO CaseTable(CaseName,CaseDate,TextArea) VALUES ("' + $('.caseName_h').val() + '", "' + $('.caseDate_h').val() + '","' + $('.caseTextArea_h').val() + '")');



}




function testSuccess(tx, result) {


    var len = result.rows.length;
 alert(result+"result");
 alert(len+"len");


}

【问题讨论】:

  • 感谢您为错误保密。
  • 数据库有问题
  • 那是错误信息?真的吗?

标签: mysql sqlite cordova


【解决方案1】:

“具有相同文本的案例名称”(来自您的问题描述)意味着完全匹配。那将是:

SELECT CaseName FROM CaseTable WHERE CaseName='foo';

如果您不想要严格匹配并且不使用某种 FTS(全文搜索)扩展,您可能只想使用 LIKE 关键字(不区分大小写)而不是 MATCH,然后如果您想要列匹配对于您的 +data+ 变量:

CaseName foo 开头,然后使用 'foo%' 作为您的 +data+ 字符串变量

CaseName contains foo 然后使用 '%foo%' 作为你的 +data+ 字符串变量

【讨论】:

    猜你喜欢
    • 2021-02-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-06-23
    • 1970-01-01
    • 2022-01-23
    • 2011-12-31
    • 1970-01-01
    相关资源
    最近更新 更多