无法将数据插入Android上的SQLite数据库

时间:2012-09-17 14:21:15

标签: javascript android sqlite insert

我正在尝试将INSERT插入到我正在开发的Android应用程序中的SQLite数据库中。 我有一个包含一些字段的HTML表单,我可以从这些字段中获取信息。 当我尝试进行INSERT时,我收到一个错误:'Error Processing SQL:undefined'。 有谁能够帮我?我是个新手。 这是我正在使用的代码: HTML表格

<form name="editNoteForm" id="editNoteForm" method="post" action="index.html">
  <label for="primeiroNome">1&#186; Nome</label>
    <input type="text" name="primeiroNome" id="primeiroNome">

  <label for="utlimoNome">&Uacute;ltimo Nome</label>
    <input type="text" name="ultimoNome" id="ultimoNome">

  <label for="numeroTelefone">Telefone</label>
    <input type="number" name="numeroTelefone" id="numeroTelefone">

  <input type="submit" onclick="onSubmit();" id="editFormSubmitButton" value="Save Note">

</form>

Javascript代码

function onSubmit() {
         db.transaction(addRowDB, errorCB, successCB);
         alert('Done');
    }

    function addRowDB(tx) {
        var primeiroNome = document.getElementById('primeiroNome').value;
        var ultimoNome = document.getElementById('ultimoNome').value;
        var numeroTelefone = document.getElementById('numeroTelefone').value;
        tx.executeSql('INSERT INTO DEMO (id, nome, ultimo, telefone) VALUES (null, primeiroNome, ultimoNome, numeroTelefone)');

    }

感谢。

2 个答案:

答案 0 :(得分:0)

 tx.executeSql('INSERT INTO DEMO (id, nome, ultimo, telefone) VALUES (null, primeiroNome, ultimoNome, numeroTelefone)');

将插入文字值“primeiro Nome”......

您需要插入变量primeiro Nome的值...(例如,连接(+))

答案 1 :(得分:0)

我发现了问题。这真的是''。所以我寻找一个函数,在变量之前和之后放置它们并且它工作。代码就是这个:

function sqlstr(s) {
    return "'"+s.replace(/'/g, "''")+"'";
}

    function addRowDB(tx) {
        var primeiroNome = document.getElementById('primeiroNome').value;
        var ultimoNome = document.getElementById('ultimoNome').value;
        var numeroTelefone = document.getElementById('numeroTelefone').value;
        tx.executeSql('INSERT INTO DEMO (id, nome, ultimo, telefone) VALUES (null, ' + sqlstr(primeiroNome) + ', ' + sqlstr(ultimoNome) + ', ' + sqlstr(numeroTelefone) + ')');


    }

感谢您的帮助:)