programa para memotest memorizacion memoria juegos juego hice hacer crear con como codigo cartas javascript android sqlite jquery-mobile cordova

para - juegos en javascript



El toque de la firma de Canvas crea problemas en phonegap (2)

Bueno, puede ser de muchos lugares.

Primero, ¿lo estás probando en Android (2.3 o inferior)? Si es así, el problema probablemente sea que .toDataUrl() no es compatible con el navegador predeterminado de Android, lo que significa que tampoco funcionará en PhoneGap.

Así que primero creo que sugiero que hagas es comprobar que realmente tienes una cadena en kundensUnderSkrift.

2nd a veces WebSql puede ser complicado, así que para estar seguro lo utilizaré para crear la tabla:

tx.executeSql("CREATE TABLE IF NOT EXISTS sign(orderNr unique ,rapport,sign STRING)");

Las actualizaciones de WebSql no parecen funcionar del todo, así que asegúrese de borrar los datos o desinstalarlos, antes de darle otra oportunidad.

3º El orden de su extracto se ve mal:

tx.executeSql("insert into sign(orderNr,sign,rapport)values(?,?,?)",[nr,rapport,kundensUnderSkrift]);

Debiera ser:

tx.executeSql("insert into sign(orderNr,rapport,sign)values(?,?,?)",[nr,rapport,kundensUnderSkrift]);

Si después de verificar los 3 puntos todavía no funciona, sugeriré probar el siguiente enfoque feo:

tx.executeSql("insert into sign(orderNr,sign,rapport) values(''"+nr+"'',''"+ kundensUnderSkrift+"'',''"+rapport+"'');",[],function(tx,success){alert("ALL OK");},function(tx,error){alert(error.message);});

Puede usar console.log en lugar de alerta, pero en el dispositivo móvil me resulta mucho más fácil hacer la depuración con la alerta. (excepto Windows Phone, donde la alerta no es compatible por defecto).

Avísame si esto te ayudó.

Encontré algunas publicaciones relacionadas con la "firma del lienzo del teléfono" pero no ayudaron. Tengo algunos cuadros desplegables, cuadros de texto y un campo de firma. Quiero insertar estos campos en la base de datos sqlite.

La creación de la tabla de mi base de datos se ve así:

tx.executeSql("CREATE TABLE IF NOT EXISTS parts(id INTEGER PRIMARY KEY AUTOINCREMENT,nr,productId,description,toolsVerified)"); tx.executeSql("CREATE TABLE IF NOT EXISTS costs(id INTEGER PRIMARY KEY AUTOINCREMENT,nr,date,starttime,endtime,reason,cost)"); tx.executeSql("CREATE TABLE IF NOT EXISTS sign(orderNr unique ,rapport,sign)");

Lea los valores de campo como normal para el texto y la lista desplegable para el campo de firma del lienzo es como

kundusSign = $("#mKundusskirt")[0]; kundensUnderSkrift = kundusSign.toDataURL();

Aquí está el código para insertar datos:

db .transaction(function(tx) { // for parts table tx .executeSql( "insert into parts(nr,productid,description,toolsVerified) values(?,?,?,?)", [ nr, productId, desc, tool ]); // for cost table tx .executeSql( "insert into costs(nr,date,starttime,endtime,reason,cost) values (?,?,?,?,?,?)", [ nr, date, startTime, endTime, reason, cost ]); // for sign table signQuery = ''UNION SELECT '' + nr + ", ''" + rapport + "'',''" + kundensUnderSkrift + "''"; tx .executeSql(''insert or replace into "sign" SELECT "orderNr","rapport","sign"'' + signQuery); });

Incluí el complemento de signo para las firmas. Ahora mi problema es que cuando escribo el campo de firma, los campos de la base de datos no se insertan. Además, cuando intento eliminar la consulta de inserción de signo y poner signo significa que los otros dos valores de tabla (costo y partes) tampoco se insertan. Si no toqué los campos del signo, todos los valores se insertan con éxito para la imagen que inserta el formato toDataurl ().

Solo obtuve este error en el seguimiento de la pila:

sqlite (23) not authorised .

Por favor, dale una solución a esto.

EDITAR: También intenté esto:

tx.executeSql("insert into sign(orderNr,sign,rapport)values(?,?,?)",[nr,rapport,kundensUnderSkrift]);


Debería pasar callbacks de error a transaction() métodos transaction() y executeSql() - ayudará a depurar las operaciones de su base de datos en desarrollo. Deseará usar algo que no sea alert() para el manejo de errores en producción.

db.transaction(function(tx) { // for parts table tx.executeSql( "insert into parts(nr,productid,description,toolsVerified) values(?,?,?,?)", [ nr, productId, desc, tool ], null, sqlError ); // for cost table tx.executeSql( "insert into costs(nr,date,starttime,endtime,reason,cost) values (?,?,?,?,?,?)", [ nr, date, startTime, endTime, reason, cost ], null, sqlError ); // for sign table tx.executeSql( ''insert or replace into sign(orderNr,rapport,sign) values (?,?,?)'' [nr, rapport, kundensUnderSkrift], null, sqlError ); }, xactError); function sqlError(tx, err) { alert("Statement failed: " + err.message); } function xactError(err) { alert("Transaction failed: " + err.message); }