0

署名を保存する必要があるプロジェクトに取り組んでいます(Image Base 64 )。現在は正常に動作していますが、不明な理由で 100% のうち約 2% が失敗することがあります。

      $(document).ready(function() {    
            var db = window.openDatabase("TEST", "1.0", "TEST", 20000000 );
            db.transaction(insertSignature, errorCB, insertSignatureSuccess);

            function insertSignature(tx)
            {
                var signature               = $.trim($('#sig').val());
                var signature_laps          = $('#signature_laps').val();
                var signature_attempts      = $('#signature_attempts').val();
                var sql = 'UPDATE signature_table SET signature = "'+signature+'", signature_lap = "'+signature_laps+'", signature_attempt = "'+signature_attempts+'", modified_date = datetime("now", "localtime")' + 
                        ' WHERE cust_code = "'+cust_code+'" AND cycle_month = "'+month+'" AND cycle_year = "'+year+'"';
                tx.executeSql(sql);
            }

            function insertSignatureSuccess(tx)
            {
                alert('success');
            }

            function errorCB(err) 
            {
               alert('failed');
            }
    });

どこ

署名変数には base64 イメージが含まれています

signature_laps & signature_attempts変数には整数が含まれています

cust_codemonth & yearは重要なキーパラメータです

SQLITE で

署名フィールドは BLOB です

100% のうち 2% で、署名が保存されていなくても 2% の失敗は成功と表示されますが、同じストロークで再試行すると、正常に保存されます。クエリが正常に実行されなくても、成功メッセージが表示されるのはなぜですか? 失敗したメッセージで続行するはずです。それは電話ギャップのバグですか?

Android ICS と jquery mobile で phonegap を実行しています。

何か案が?よろしくお願いします。

4

1 に答える 1