jeudi 16 juillet 2015

sqlite error code 6 in cordova when run on android

i try to run my code on cordova android. than it said "could not execute statement due to a constaint failure (19 constaint failed)" when i use err.code is return 6. do i write some code wrong or my android isn't work well. i run it on firefox and it don't alertany error

$(document).ready(function () {
var parameters = window.location.hash.substring(1).split("&");
                var temp = parameters[0].split("=");
                uid = unescape(temp[1]);
                $("#current_login").html("hi, "+uid);
                db = window.openDatabase("Database", "1.0", "customer info", 200000);
                db.transaction(createDB, errorCB, sucessQueryDB);


});

function createDB(tx) {
    tx.executeSql('CREATE TABLE IF NOT EXISTS CUSTOMER (cid INTEGER PRIMARY KEY AUTOINCREMENT, name,Location,Email,Tel,Fax,Latitude,Longitude)');
    tx.executeSql('CREATE TABLE IF NOT EXISTS USER (uid PRIMARY KEY, Password)');
    tx.executeSql('CREATE TABLE IF NOT EXISTS USER_CUSTOMER (uid NOT NULL, cid NOT NULL, PRIMARY KEY (uid,cid))');
    tx.executeSql("INSERT INTO USER_CUSTOMER (uid, cid) VALUES (\"test\",2)");
    tx.executeSql("INSERT INTO CUSTOMER (name,Location,Email,Tel,Fax,Latitude,Longitude) VALUES (\"BLACK\",\"a\",\"a@a.com\",000,050,123,123)");
    tx.executeSql("INSERT INTO CUSTOMER (name,Location,Email,Tel,Fax,Latitude,Longitude) VALUES (\"a jui\",\"a\",\"a@a.com\",000,000,123,123)");

}

function errorCB(err) {
    alert("Error processing SQL: " + err.code+" "+err.message);
}

function sucessQueryDB(tx) {
    tx.executeSql('SELECT * FROM CUSTOMER', [uid], renderList, errorCB);

}
function renderList(tx, results) {
    var htmlstring = '';

    var len = results.rows.length;

    for (var i = 0; i < len; i++) {
        htmlstring += "<tr align=\"center\" style=\"background-color: #8AABBA; color: #FAF0BA;\" >";
        htmlstring += "<td>" + results.rows.item(i).cid + "</td>";
        htmlstring += "<td>" + results.rows.item(i).name + "</td>";
        htmlstring += "<td><button style=\"background-color: #FAF0BA; color:#00CCA5;\" data-role =\"button\" data-mini=\"true\" data-inline=\"true\" data-icon =\"info\" class=\"info\" value=\"" + results.rows.item(i).cid + "\">info</button></td>";
        htmlstring += "</tr>";
    }

    $('#sql_user_customer').html(htmlstring);


}

Aucun commentaire:

Enregistrer un commentaire