1

sqlite +phonegap のテーブルから最初の列名を取得する方法を教えてください。テーブル名 "student" があります。列名 ID 、 name 、 Rollnumber があります。

クエリを使用して列名を取得するには?

私はこのようにしてみます var str=tx.executeSql('SELECT 0 FROM student'); アラート("str"+str); しかし、エラーが発生します

まず、テーブルを作成します

tx.executeSql('CREATE TABLE IF NOT EXISTS CaseTable (id INTEGER PRIMARY KEY AUTOINCREMENT, CaseName TEXT NOT NULL,CaseDate INTEGER ,TextArea TEXT NOT NULL)');

Before Insert i need to check



             checkExitingFolderName();
    function checkExitingFolderName(){
    db.transaction(getallTableCntend, errorCB);
    }

function getallTableCntend(tx) {
    var str=tx.executeSql('SELECT 1 FROM CaseTable WHERE ID=1');
    alert("str"+str);
}
4

1 に答える 1

0

Intel XDK サードパーティ プラグインへのリンクを使用してください。その前に、プロジェクトの依存関係の jar ファイルを github からダウンロードし、cordova プラグイン SQLite 名でディレクトリを作成してその中にファイルを配置し、jar ファイルを含めます。次に、 URL を使用してプラグインを追加してみてください。

以下のコード全体を参照してください 1.データベースを作成する 2.テーブルを追加する 3.テーブルにデータを追加する 4.テーブルからデータを取得する

 // Wait for Cordova to load
document.addEventListener('deviceready', onDeviceReady, false);

// Cordova is ready
function onDeviceReady() {
  ////////////////////////////////////////////////////////////////////////////////////////////////
    alert("Start ");
    var db = window.sqlitePlugin.openDatabase({ name: 'my.db', location: 'default' }, function () {


     alert("database creatred");
     db.transaction(function (tx) {
         tx.executeSql('CREATE TABLE customerAccounts (firstname, lastname, acctNo)');
         alert("Table create");

         addItem("first", "last", 100);
         getData("last");

     }, function (error) {
         alert('transaction error: ' + error.message);
     }, function () {
        alert('transaction ok');
     });


    }, function (error) {
    });

 ////////////////////////////////////////////////////////////////////////////////////////////////   


function addItem(first, last, acctNum) {
  alert("start adding");
    db.transaction(function (tx) {

        var query = "INSERT INTO customerAccounts (firstname, lastname, acctNo) VALUES (?,?,?)";
          alert("start insterting");
        tx.executeSql(query, [first, last, acctNum], function(tx, res) {
            console.log("insertId: " + res.insertId + " -- probably 1");
            console.log("rowsAffected: " + res.rowsAffected + " -- should be 1");
            alert("insert complete");
        },
        function(tx, error) {
            alert('INSERT error: ' + error.message);
        });
    }, function(error) {
        alert('transaction error: ' + error.message);
    }, function() {
        alert('transaction ok');
    });
}

//////////////////////////////////////////////////////////////////////////////////////////////// 

    function getData(last) {

    db.transaction(function (tx) {
          alert("get data");
        var query = "SELECT firstname, lastname, acctNo FROM customerAccounts WHERE lastname = ?";
           alert("get data working");
        tx.executeSql(query, [last], function (tx, resultSet) {

            for(var x = 0; x < resultSet.rows.length; x++) {
                alert("First name: " + resultSet.rows.item(x).firstname +
                    ", Acct: " + resultSet.rows.item(x).acctNo);
            }
        },
        function (tx, error) {
            alert('SELECT error: ' + error.message);
        });
    }, function (error) {
        alert('transaction error: ' + error.message);
    }, function () {
        alert('transaction ok');
    });
}

///////////////////////////////////////////////////////////////////////////////////////////////////    

}
于 2016-05-24T11:50:25.093 に答える