titre_site.jpg (51607 octets)

Row in use by another. Retrying lock

"Ligne en cours d'utilisation par un autre. Retenter le verrouillage"

 

Q 1:  En travaillant avec des tables MySQL sur un formulaire dbase et quand j'essaie d'utiliser le bouton "modifier" avec un simple code BeginEdit j'obtiens ce message d'erreur et ne suis pas en mesure d'apporter des modifications aux données déjà saisies dans le tableau. J'utilise un datamodref pour mon accès à ces tables.

R 1 par Claus Mygind :

Cela se produit lorsque vous que vous utilisez .Save() après un .Append(). Un verrou est mis sur la table qui n'est pas éliminé.

Vous n'utilisez probablement pas les webclass.cc, mais voilà comment j'ai modifié la classe personnalisée dans la section mise à jour pour contourner ce problème. Remarquez que je continuer à utiliser le .save () sur le .append() mais pour des modifications j'utilise la "mise à jour " dans un SQL.

         if bAppend
            rf.parent.save()        // save row
         else

            /*
              Use update instead of save for edited records.
            */

            q.requestlive = false
            q.active = true
            q.sql = [update ]+cTableName+[ set ]+cSet+[ where ]+cWhere+[]
            q.requery()
            q.active = false
         endif

Une autre façon de contourner est d'utiliser le .executeSQL([update ....])

Voici un exemple de comment cela pourrait fonctionner.
(Vous pouvez aussi l'utiliser pour "insert" lors de l'ajout d'enregistrements)

" db.executeSQL([update jBook set ]+cSet+[ where jobId = ']+cJobId+['])"

retour

Sources :


Aide dBase Plus 2.6.0

Q1
From: "gloria" <ggerema@yahool.com>
Newsgroups: dbase.programming
Sent: Monday, May 31, 2010 3:09 PM
Subject: error, row in use by another.Retrying lock

Retour à l'accueil

Les informations de cette page sont données à titre indicatif et ne se substituent pas à celles contenues dans l'Aide de votre version de dBase qui reste la meilleure documentation.


Si vous voyez des erreurs, ou souhaitez apporter des compléments, n'hésitez pas à le signaler.
Dernière modification : mercredi 06 octobre 2010

©  M.Abraham.