DETECTER LES VERROUS SUR DES TABLES D UNE BASE MYSQL
winvsmac
Messages postés84Date d'inscriptionsamedi 26 mai 2007StatutMembreDernière intervention14 décembre 2016
-
18 juil. 2013 à 18:58
ghuysmans99
Messages postés2496Date d'inscriptionjeudi 14 juillet 2005StatutContributeurDernière intervention 5 juin 2016
-
7 août 2013 à 22:09
Bonjour,
Je me permets de poster cette question car je n'arrive pas à trouver ce que je veux.
Je suis en train de développer une application VB6 pilotant une base MYSQL.
Dans un écran de paramétrage, je pose un verrou sur la table pour être certain que personne d'autre ne puisse insérer/modifier les données de la table.
Jusque là pas de problème. Quand je me connecte à la console SQL, via la commande "SHOW OPEN TABLES WHERE IN_USE >0;" je constate bien que ma table est lockée.
Cependant, je souhaiterai via un code VB6 effectuer la même chose. J'ai tenté cela :
BDDcmd.ActiveConnection = BDDcon
BDDcmd.CommandType = adCmdText
BDDcmd.CommandText = "SHOW OPEN TABLES WHERE IN_USE >1 ;"
Set rst = BDDcmd.Execute
Quand je l'exécute, je n'ai aucun message d'erreur, ce qui laisse à supposer que le code est correct.
J'aimerai pouvoir faire en VB6 la commande SHOW OPEN TABLES WHERE IN_USE >1, et savoir par exemple, si la table TOTO est verrouillée.
Merci pour vos pistes de réflexion.
Le pilotage d'une base MYSQL avec VB6 est nouveau pour moi, merci d'être indulgent ...
Jérome
A voir également:
DETECTER LES VERROUS SUR DES TABLES D UNE BASE MYSQL
NHenry
Messages postés15113Date d'inscriptionvendredi 14 mars 2003StatutModérateurDernière intervention22 avril 2024159 18 juil. 2013 à 19:35
Bonjour,
Si tu utilises ADO ou DAO, essayes d'ouvrir un recordset avec ta requête.
v----Signature--------v----------------------------------------------
[list=ordered][*]Pour poser correctement une question et optimiser vos chances d'obtenir des réponses, pensez à lire le règlement CS, celui-ci pour bien poser votre question ou encore celui-ci pour les PFE et autres exercices.[*]Quand vous postez un code, merci d'utiliser la coloration syntaxique (3ième icône en partant de la droite : ).[*]En VB.NET pensez à activer Option Explicit et Option Strict (propriété du projet) et à retirer l'import automatique de l'espace de nom Microsoft.VisualBasic (onglet Références dans les propriétés du projet).[*]Si votre problème est résolu (et uniquement si c'est le cas), pensez à mettre "Réponse acceptée" sur le ou les messages qui vous ont aidés/list ---
Mon site
ghuysmans99
Messages postés2496Date d'inscriptionjeudi 14 juillet 2005StatutContributeurDernière intervention 5 juin 20161 7 août 2013 à 22:09
Bonjour,
Comme le dit NHenry, ouvrir un recordset est la chose à faire. La façon la plus simple (et toujours fonctionnelle, que ça soit en Access, MSSQL ou MySQL) c'est quelque chose comme ça :
Dim rst As Recordset
Set rst = BDDcmd.Execute("SHOW OPEN TABLES WHERE IN_USE >1;")
'[Manipulations en tout genre]
rst.Close : Set rst = Nothing 'destruction de l'objet
(Wow, la coloration syntaxique c'est vraiment devenu du n'importe quoi.)