J'essaie d'utiliser SQLite dans phonegap pour iPhone, je suis confronté au problème suivant, S'il vous plaît jeter un oeil sur le code javascript ci-dessous. Merci beaucoupSQLite dans PhoneGap iPhone
function testAsSeperateFunctionDB(contact)
{
database.transaction(
function(transaction){
alert("enteringIntoTransaction");
transaction.executeSql(
'INSERT INTO testTableThree (contactId, mrMrs, firstName,
lastName, jobTitle, bActive, homePhone, contactType, accountId,
workPhone, cellularPhone, workFax, contactEmail, owner,
alternateCountry, alternateAddress1, alternateAddress2,
alternateZipCode, alternateCity, alternateProvince)
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?);',
[contact.contactId, contact.mrMrs,
contact.firstName, contact.lastName,
contact.jobTitle, contact.bActive,
contact.homePhone, contact.contactType,
contact.accountId, contact.workPhone,
contact.cellularPhone, contact.workFax,
contact.contactEmail, contact.owner,
contact.alternateCountry, contact.alternateAddress1,
contact.alternateAddress2, contact.alternateZipCode,
contact.alternateCity, contact.alternateProvince],
//Callback after successful transaction
function(transaction, results) {
alert("added");
},
//Callback after error in transaction
function(transaction, error) {
alert("Error" + error.code);
}
);
}
);
}
J'utilise la fonction ci-dessus pour ajouter un ensemble de coordonnées dans une table, je vais passer un objet JSON à cette fonction. J'appelle la fonction ci-dessus dans la structure de boucle suivante.
for(i = 0; i < contactFullObjArray.length; i++) {
//Parse the ContactFull object
var contact=ContactFull.parse(contactFullObjArray[i]);
testAsSeperateFunctionDB(contact);
}
ce qui se passe ici est la transaction se passe seulement après l'ensemble de la boucle est exécuté, et il devient appelé une seule fois, ce qui ne fait que les valeurs finales qui sont passés à ajouter dans la table. (Je reçois l'alerte « enteringIntoTransaction » une seule fois, et que la valeur ajoutée est d'obtenir dans la base de données. Merci beaucoup pour votre aide