Я не уверен, используете ли вы какую-то библиотеку, но если вы используете стандартный интерфейс SQL для SQLite, второй аргумент - это массив значений, а не объект как у вас. Так что код больше похож на
db.transaction(
function (transaction) {
transaction.executeSql(
"INSERT OR IGNORE INTO contact (contactId, nameG, nameF, orgContactId, accountId) VALUES (?, ?, ?, ?, ?)",
[contact.contactId, contact.nameG, contact.nameF, contact.orgContactId, contact.accountId],
function (transaction, resultSet) { // SQL INSERT statement success
// do something now that the item has been saved
}, // end statement success callback
function (transaction, sqlError) { // statement fail
// report failed operation
return true; // abort transaction
}
);
} // end transaction function
// no transaction callbacks
); // end transaction call