0

私が開発しているAndroidアプリでSQLiteデータベースにINSERTを作成しようとしています。いくつかのフィールドを持つ HTML フォームがあり、それらのフィールドから情報を取得できます。INSERT を実行しようとすると、「エラー処理 SQL: 未定義」というエラーが表示されます。誰でも私を助けることができますか?私は一種の初心者です。私が使用しているコードは次のとおりです: 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)');

    }

ありがとう。

4

2 に答える 2

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

リテラル値「primeiroNome」を挿入します...

変数 primeiroNome ... の値を挿入する必要があります (たとえば、連結 (+) を使用)

于 2012-09-17T14:45:05.340 に答える
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) + ')');


    }

助けてくれてありがとう :)

于 2012-09-17T15:56:26.183 に答える