Я нашел несколько сообщений, связанных с "подписью canvas phonegap", но они не помогли. У меня есть раскрывающиеся ящики, текстовые поля и одно поле подписи. Я хочу вставить эти поля в базу данных sqlite.
Создание моей таблицы базы данных выглядит следующим образом:
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)");
Прочитайте значения полей, такие как нормальные для текста и выпадающего списка для поля подписи в виде холста, как
kundusSign = $("#mKundusskirt")[0];
kundensUnderSkrift = kundusSign.toDataURL();
Вот код для вставки данных:
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);
});
Я включил подпись плагина для подписей. Теперь моя проблема заключается в том, что при вводе поля подписи поля базы данных не вставляются. Также, когда я пытаюсь удалить запрос вставки знака и поместить знак, значения двух других таблиц (стоимость и части) также не вставлены. Если я не коснулся знаковых полей, все значения вставляются успешно для изображения вставки формата toDataurl().
Я получил эту ошибку только в трассировке стека:
sqlite (23) not authorised
.
Пожалуйста, дайте некоторое решение.
EDIT: Я также пробовал это:
tx.executeSql("insert into sign(orderNr,sign,rapport)values(?,?,?)",[nr,rapport,kundensUnderSkrift]);