IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage SQL Discussion :

Verrouillage de table et de ligne


Sujet :

Langage SQL

  1. #1
    Expert confirmé
    Avatar de shenron666
    Homme Profil pro
    avancé
    Inscrit en
    Avril 2005
    Messages
    2 524
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : avancé

    Informations forums :
    Inscription : Avril 2005
    Messages : 2 524
    Points : 5 184
    Points
    5 184
    Par défaut Verrouillage de table et de ligne
    Bonjour,

    Tout d'abord je préfère prévenir que je suis loin d'être à l'aise avec les BDD
    Dans le cadre de mon boulot, je suis en charge du développement d'un outil interne pour lequel je voudrais gérer les informations via une base de données

    Cet outil étant destiné à être multi-utilisateurs alors que la BDD sera commune, je cherche à savoir s'il y a une solution au sein même de SQL pour gérer des "lock" comme les suivants :

    premier cas, le "lock" d'une ligne dans une table :
    Lorsqu'une instance d'une application travaille sur une donnée, il ne faut pas qu'une autre instance puisse travailler sur cette même donnée
    Disons qu'une donnée concerne un mois de l'année, j'ai une table qui contient les données des différents mois et donc je voudrais que les autres instances soient capables de savoir qu'elles ne peuvent pas accéder à une donnée car une instance s'en sert déjà
    La donnée peut être verrouillée plusieurs heures et une même instance peut avoir à "locker" plusieurs données

    second cas, le "lock" d'une table :
    J'ai des tables qui contiennent des informations communes à plusieurs données
    Si je traite une nouvelle donnée, j'ai besoin de mettre à jour la table (par exemple la table des "Marques" avec de nouvelles marques) mais les autres instances ne doivent pas pouvoir modifier la table pendant ce temps
    Par contre, il faut que l'application sache qu'elle ne peut pas modifier cette table (il ne faut pas que ce soit bloquant)

    Jusqu'à maintenant, mes recherches ont été infructueuses et j'ai bien l'impression que je vais devoir me résoudre à développer une application intermédiaire entre le serveur Sql et les clients

    Gérer ces cas à l'aide de tables additionnelles me semble une mauvaise solution car, dans le cas où une instance ne se déconnecterait pas proprement du serveur il faudrait aller "nettoyer"
    Mais je ne suis pas contre cette possibilité si on m'explique comment éviter ce genre de problème

    Si quelqu'un a des idées à me soumettre qui me permettraient d'éviter le développement supplémentaire, je suis preneur
    Tutoriels OpenGL
    Je ne répondrai à aucune question en MP
    - Si c'est simple tu dis que c'est compliqué et tu le fait
    - Si c'est compliqué tu dis que c'est simple et tu le sous-traite ou le fait faire par un stagiaire.

  2. #2
    Modérateur

    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 799
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 799
    Points : 34 031
    Points
    34 031
    Billets dans le blog
    14
    Par défaut
    Un exemple concret nous aiderait à comprendre ton problème.
    De plus, en précisant quel est le SGDB utilisé, ça pourrait orienter la réponse.

    D'une manière générale, on est dans le domaine informatique qui travaille à la milliseconde, voire moins.

    Les SGBD sont dotés de mécanismes internes qui font que deux modifications simultanées sur la même table sont impossibles.

    Lorsque les traitements sont plus complexes avec mise à jour en cascade de plusieurs tables, il existe des instructions spécifiques pour bloquer temporairement l'accès aux tables.

    Si par contre, il s'agit d'un processus tel que celui que je décris ci-dessous, alors il faut prévoir des mécanismes sans doute en partie logiciels.
    Soit le scénario suivant :
    1) L'utilisateur demande d'afficher la liste des marques ==> 1 requête pour récupérer la liste
    2) L'utilisateur sélectionne une marque et affiche ses informations complètes ==> 1 requête pour récupérer les informations relatives à la marque.
    3) L'utilisateur clique sur le bouton "Modifier" ==> les lignes impactées par les informations susceptibles d'être modifiées doivent être interdite à la modification. Mais un autre utilisateur peut continuer à consulter les informations existantes.
    4) L'utilisateur modifie des informations relatives à la marque et valide ==> 1 à plusieurs requête(s) de mise à jour des données.
    5) Déblocage des lignes relatives à la marque.

    A noter qu'avec ce système en partie géré par le logiciel, si l'utilisateur va pisser/prendre un café/fumer une clope/draguer un ou une stagiaire après avoir cliqué sur le bouton Modifier, les autres utilisateurs sont bloqués en modification sur cette marque.

    Avant d'entreprendre un tel truc, il faut bien déterminer si c'est vraiment utile.

    Quoi qu'il en soit, je ne suis pas sûr que ce soit le bon forum pour en discuter.
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole. Autoentrepreneur.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

  3. #3
    Expert confirmé
    Avatar de shenron666
    Homme Profil pro
    avancé
    Inscrit en
    Avril 2005
    Messages
    2 524
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : avancé

    Informations forums :
    Inscription : Avril 2005
    Messages : 2 524
    Points : 5 184
    Points
    5 184
    Par défaut
    Tout d'abord, merci pour ce début de réponse.

    Si tu penses que je ne suis pas dans le bon forum, pourrais-tu m'indiquer où faire déplacer mon post ?

    Citation Envoyé par CinePhil Voir le message
    Un exemple concret nous aiderait à comprendre ton problème.
    De plus, en précisant quel est le SGDB utilisé, ça pourrait orienter la réponse.
    Le SGBD n'est pas défini, et autant que possible je préfèrerai ne pas être cantonné à un SGBD en particulier
    j'ai installé un serveur mySql sur mon poste afin d'effectuer quelques tests et de me former au requêtage sql mais je doute fort qu'une fois en prod ce soit mysql qui reste

    pour ce qui est de l'exemple concret, ça ne va pas être facile vu que je n'ai rien de concret à ce jour
    je peux néanmoins monter un exemple bidon afin d'exposer le fonctionnement souhaité :

    J'ai une table "Questionnaires" contenant une liste de questionnaire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Questionnaire 1
    Questionnaire 2
    Questionnaire 3
    Les questionnaires comportent des questions relatives aux marques, par exemple les marques de voitures, de lingerie , de chaussures, ect

    je vais donc avoir une table contenant les marques de voitures, une autre table pour les marques de lingerie, encore nue auter pour les marques de chaussures
    bref une table par marque, le but étant de pouvoir faire le "lien" d'une même marque entre 2 questionnaires (on ne peut pas se fier au libellé)


    Rentrons dans le cas où je reçois un nouveau "Questionnaire 4"
    ce nouveau questionnaire est ajouté à la table "Questionnaire" et personne ne doit pouvoir y accéder tant que je travaille dessus

    Je vais devoir indiquer dans ce questionnaire, les questions relatives aux différentes marques
    dans l'outil, je vais sélectionner la question "Marques de lingerie" (la plus sympa ) puis la rattacher à la table des marques de lingerie
    hors, la table des marques de lingerie ne contient pas les nouvelles marques faisant partie du nouveau questionnaire et je vais devoir les ajouter
    et en gros, l'ajout de nouvelles marques ne doit pas se faire marque par marque mais plutot d'un bloc :
    - assignation de la table "marques de lingerie" au critère "Marques de lingerie"
    - l'outil récupère la liste des marques existantes
    - l'utilisateur assigne chaque marque du questionnaire à la marque correspondante déjà existante dans la table
    - dans le même temps, les marques inexistantes sont créées
    - l'utilisateur valide ses liens auquel cas la table est odifiée, si l'utilisateur annule alors la table n'est pas modifiée et les nouvelles marques ne sont pas ajoutées

    A noter qu'avec ce système en partie géré par le logiciel, si l'utilisateur va pisser/prendre un café/fumer une clope/draguer un ou une stagiaire après avoir cliqué sur le bouton Modifier, les autres utilisateurs sont bloqués en modification sur cette marque.
    c'est le fonctionnement que je souhaitais pour éviter les conflits
    mais il y a peut-etre d'autres solutions

    Avant d'entreprendre un tel truc, il faut bien déterminer si c'est vraiment utile.
    je viens de penser à quelque chose peut-etre plus efficace qui éviterait d'avoir à verrouiller les tables

    si l'ajout des marques dans une table était une transaction en "préparation" dans l'outil et que cette transaction n'était exécutée qu'une fois que l'utilisateur a validé ses ajouts alors la modification se ferait d'un trait
    et dans ce cas, le "lien" entre des marques se fait juste après la transaction, l'outil récupère les identifiants des marques ajoutées après ajout

    il ne me reste donc qu'un seul point à gérer : comment bloquer l'accès à un questionnaire (au moins empêcher sa modification) et faire en sorte qu'un autre utilisateur puisse avoir un message d'alerte comme quoi le questionnaire est déjà ouvert et qu'il n'est disponible qu'en lecture ?

    Encore merci pour ton intervention en tout cas
    cela ma fait réfléchir différemment à mon problème

    edit : en fait c'est pas si simple, car pendant qu'un utilisateur ajoute une nouvelle marque XX il ne faut pas qu'un autre utilisateur ajoute également cette même marque XX
    donc je ne pense pas que je puisse faire sans verrouiller la table en modification
    Tutoriels OpenGL
    Je ne répondrai à aucune question en MP
    - Si c'est simple tu dis que c'est compliqué et tu le fait
    - Si c'est compliqué tu dis que c'est simple et tu le sous-traite ou le fait faire par un stagiaire.

  4. #4
    Modérateur

    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 799
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 799
    Points : 34 031
    Points
    34 031
    Billets dans le blog
    14
    Par défaut
    Je crois qu'il y a un problème de modélisation des données dans ce que tu décris.

    Les questionnaires comportent des questions relatives aux marques
    MCD :
    Questionnaire -1,n----Comporter----1,1- Question -1,1----PorterSur---0,n- Marque

    je vais donc avoir une table contenant les marques de voitures, une autre table pour les marques de lingerie, encore nue auter pour les marques de chaussures
    bref une table par marque, le but étant de pouvoir faire le "lien" d'une même marque entre 2 questionnaires (on ne peut pas se fier au libellé)
    Ca ce n'est pas bon.
    Une marque reste une marque, qu'elle représente des chaussures, des voitures ou des biglotrons !

    On a plutôt le schéma suivant :
    Marque -1,n----Représenter----0,n- TypeDeProduit

    Je suppose ici qu'une marque peut représenter plusieurs types de produits. Exemple : Yamaha fabrique des motos et des pianos.

    Nous avons jusqu'ici les tables suivantes :
    Questionnaire (QR_Id, QR_Titre, QR_DateDebut, QR_DateFin...)
    TypeProduit (TP_Id, TP_Libelle...)
    Marque (M_Id, M_Nom...)
    Representer(R_IdMarque, R_IdTypeProduit...)
    Question (QT_Id, QT_IdQuestionnaire, QT_IdMarque, QT_Libelle...)

    Rentrons dans le cas où je reçois un nouveau "Questionnaire 4"
    ce nouveau questionnaire est ajouté à la table "Questionnaire" et personne ne doit pouvoir y accéder tant que je travaille dessus
    Donc tu as un formulaire de création d'un questionnaire qui contiendra dans mon hypothèse des champs de saisie pour le titre, la date de début et la date de fin du questionnaire. Rien n'est encore en BDD jusqu'à ce que tu valides ta saisie. Alors une ligne est créée par une requête d'insertion dans la table Questionnaire :
    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    INSERT INTO Questionnaire(QR_Titre, QR_DateDebut, QR_DateFin)
    VALUES ('Quels produits de luxe vous conviendraient ?', '2009-10-01', '2009-10-15')
    Le QR_Id est attribué automatiquement par le SGBD car on aura pris soin de donner un type entier non nul non signé et auto-incrémenté à cette colonne.
    La modification des informations de ce questionnaire ne sera accessiblequ'une fois la ligne enregistrée. Il n'y a donc pas de souci.

    Je vais devoir indiquer dans ce questionnaire, les questions relatives aux différentes marques
    dans l'outil, je vais sélectionner la question "Marques de lingerie" (la plus sympa )
    Donc si je comprends bien, et contrairement à ce que j'ai supposé ci-dessus, chaque questionnaire porte sur un type de produit ?
    MCD complet ancien :
    Questionnaire -1,n----Comporter----1,1- Question -1,1----PorterSur---0,n- Marque -1,n----Représenter----0,n- TypeProduit

    MCD corrigé :
    Questionnaire -1,n----Comporter----1,1- Question -1,1----PorterSur---0,n- Marque
    |---------------------1,1-Concerner----0,n- TypeProduit -0,n----Représenter----1,n--|

    Note : Il faudra s'assurer, au moment de l'insertion d'une question, que celle-ci porte sur une marque qui représente bien le type de produit dont est objet le questionnaire.

    En supposant qu'on ait récupéré l'id n° 4 du questionnaire nouvellement créé, on pourrait avoir une insertion de ce type :
    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    INSERT INTO Question(QT_IdQuestionnaire, QT_IdMarque, QT_Libelle)
    VALUES (
      4,
      (SELECT M_Id
      FROM Marque
      WHERE M_Nom = 'Aubade'),
      'Connaissez-vous les Leçons de séduction de la marque Aubade ?'
    )

    la table des marques de lingerie ne contient pas les nouvelles marques faisant partie du nouveau questionnaire et je vais devoir les ajouter
    Il faut différencier la partie logicielle de la partie base de données.
    Le formulaire de saisie du questionnaire peut proposer les marques de lingerie existantes grâce à une requête du genre :
    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    SELECT m.M_Id, m.M_Nom
    FROM Marque AS m
    INNER JOIN Representer As r ON m.M_Id = r.R_IdMarque
      INNER JOIN TypeProduit AS tp ON r.IdTypeProduit = tp.TP_Id
    WHERE tp.TP_Libelle = 'Lingerie'
    ORDER BY m.M_Nom
    Il peut aussi y avoir un bouton pour créer une nouvelle marque inexistante dans la liste et une zone de saisie pour cette nouvelle marque. C'est alors au logiciel de procéder à l'insertion de la marque avant d'enregistrer le nouveau questionnaire.

    Voilà le principe général à développer et adapter à ton cas réel.

    il ne me reste donc qu'un seul point à gérer : comment bloquer l'accès à un questionnaire (au moins empêcher sa modification) et faire en sorte qu'un autre utilisateur puisse avoir un message d'alerte comme quoi le questionnaire est déjà ouvert et qu'il n'est disponible qu'en lecture ?
    Si vraiment tu as plusieurs utilisateurs qui peuvent intervenir sur la même période courte de temps sur le même questionnaire, tu peux par exemple prévoir l'ajout d'une colonne booléenne QR_EnModif dans la table Questionnaire.
    Scénario :
    1) Je choisis un questionnaire ==> Le système affiche les détails du questionnaire.
    2) Je clique sur un bouton de "Modification" ou "Ajouter des questions". ==> ==> Le système vérifie par une requête que la colonne QR_EnModif est à FALSE pour ce questionnaire. Si c'est le cas.Le système met la valeur TRUE à la colonne QR_EnModif pour ce questionnaire, sinon il affaiche un message me disant que le qestionnaire est déjà en cours de modification par une autre personne.

    Comme cette colonne sera la plupart du temps à FALSE, une manière plus propre de procéder, d'un point de vue purement base de données, consisterait à créer une table des questionnaires en cours de modification qui serait alimentée dynamiquement par le logiciel. On pourrait même imaginer une table plus générale concernant non seulement les questionnaires mais aussi les questions ou même les marques :
    ModificationsEnCours (MEC_Table, MEC_IdDeLaTable)

    En espérant que ces réflexions puissent t'aider à mieux concevoir ton projet.
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole. Autoentrepreneur.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

  5. #5
    Expert confirmé
    Avatar de shenron666
    Homme Profil pro
    avancé
    Inscrit en
    Avril 2005
    Messages
    2 524
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : avancé

    Informations forums :
    Inscription : Avril 2005
    Messages : 2 524
    Points : 5 184
    Points
    5 184
    Par défaut
    les questionnaires sont des fichiers binaires/ascii qui nous sont fournis par une source extérieure (un institut de sondage)
    le but de l'outil est :
    - de répertorier les questionnaires dans une table de la base de donnée
    - de servir d'interface à la définition des critères du questionnaire (critère simple, critère sur les marques, critère concernant la presse, l'internet, la radio etc)
    - de fournir une interface avec les modules d'export pour générer des fichiers binaires au format d'une application

    un questionnaire peut comporter de quelques critères (sexe, age, revenus, région) à plusieurs milliers
    et le temps de définir ces plusieurs milliers de critères il ne faut pas que quelqu'un puisse aller modifier le questionnaire
    la définition des critères sert par exemple à alimenter des moteurs probabilistes dans nos outils destinés à notre clientèle

    Citation Envoyé par CinePhil Voir le message
    Donc si je comprends bien, et contrairement à ce que j'ai supposé ci-dessus, chaque questionnaire porte sur un type de produit ?
    les questionnaires sont tous orentés "médias"
    certains couvrent 1 seul média
    d'autres de plus en plus nombreux, en couvrent plusieurs

    Citation Envoyé par CinePhil Voir le message
    tu peux par exemple prévoir l'ajout d'une colonne booléenne QR_EnModif dans la table Questionnaire.
    Scénario :
    1) Je choisis un questionnaire ==> Le système affiche les détails du questionnaire.
    2) Je clique sur un bouton de "Modification" ou "Ajouter des questions". ==> ==> Le système vérifie par une requête que la colonne QR_EnModif est à FALSE pour ce questionnaire. Si c'est le cas.Le système met la valeur TRUE à la colonne QR_EnModif pour ce questionnaire, sinon il affaiche un message me disant que le qestionnaire est déjà en cours de modification par une autre personne.
    le soucis étant dans le cas où l'instance de l'application se termine d'une manière inattendue sans remettre QR_EnModif à FALSE, plus personne ne pourra aller modifier le questionnaire

    au final j'ai bien l'impression que le SGBD seul ne me permettra pas de gérer les protections sur les questionnaires ni sur les tables
    Tutoriels OpenGL
    Je ne répondrai à aucune question en MP
    - Si c'est simple tu dis que c'est compliqué et tu le fait
    - Si c'est compliqué tu dis que c'est simple et tu le sous-traite ou le fait faire par un stagiaire.

  6. #6
    Modérateur

    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 799
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 799
    Points : 34 031
    Points
    34 031
    Billets dans le blog
    14
    Par défaut
    Citation Envoyé par shenron666 Voir le message
    les questionnaires sont des fichiers binaires/ascii qui nous sont fournis par une source extérieure (un institut de sondage)
    C'est assez différent de ce que j'avais imaginé !

    Citation Envoyé par shenron666 Voir le message
    un questionnaire peut comporter de quelques critères (sexe, age, revenus, région) à plusieurs milliers
    MCD :
    Questionnaire -0,n----PorterSur----0,n- Critère

    Tables :
    Questionnaire (Q_Id, Q-Titre, Q_Fichier...)
    Critère (C_Id, C_Libelle...)
    Q_PorterSur_C (QC_IdCritère, QC_IdQuestionnaire...)

    le but de l'outil est :
    - de répertorier les questionnaires dans une table de la base de donnée
    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    INSERT INTO Questionnaire (Q_Titre, Q_Fichier)
    VALUES ('Media utilisés à titre professionnel', '/var/www/questionnaires/q_media_prof.pdf')

    - de servir d'interface à la définition des critères du questionnaire (critère simple, critère sur les marques, critère concernant la presse, l'internet, la radio etc)
    - de fournir une interface avec les modules d'export pour générer des fichiers binaires au format d'une application
    Ca c'est de la programmation, ce n'est pas l'objet de ce forum.

    le temps de définir ces plusieurs milliers de critères il ne faut pas que quelqu'un puisse aller modifier le questionnaire
    La ligne enregistrant le questionnaire n'est bien sûr enregistrée qu'une fois en BDD dans la table Questionnaire, comme je l'ai fait ci-dessus.
    Les critères peuvent ensuite être ajoutés un par un par l'interface, laquelle affichera progressivement tous les critères déjà saisis.
    1) Recherche de la liste des critères pour affichage dans une liste déroulante de l'interface :
    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT C_Id, C_Libelle
    FROM Critere
    ORDER BY C_Libelle

    2) Sélection d'un critère (Marque = critère n° 12) par l'utilisateur en relation avec le questionnaire (n°125) et validation de cet assemblage ; enregistrement par le programme en BDD :
    [CODE"SQL"]INSERT INTO Q_PorterSur_C(QC_IdCritere, QC_IdQuestionnaire)
    VALUES (12, 125)[/CODE]

    le soucis étant dans le cas où l'instance de l'application se termine d'une manière inattendue sans remettre QR_EnModif à FALSE, plus personne ne pourra aller modifier le questionnaire
    Comme l'association critère <--> questionnaire est enregistrée au fur et à mesure, peu importe que l'application s'interrompe. Les données enregistrées ne se perdent pas entre deux instance de l'application. Sauf si une personne les supprime ou en cas de crash serveur mais là ce sera le cas avec n'importe quel système !
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole. Autoentrepreneur.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

  7. #7
    Expert confirmé
    Avatar de shenron666
    Homme Profil pro
    avancé
    Inscrit en
    Avril 2005
    Messages
    2 524
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : avancé

    Informations forums :
    Inscription : Avril 2005
    Messages : 2 524
    Points : 5 184
    Points
    5 184
    Par défaut
    Bon attends, on s'égare complètement du sujet initial

    concernant les questionnaires, j'ai juste une table pour les répertorier
    aucun critère n'est stocké en BDD

    ce que je cherche, c'est "simplement" :
    - bloquer l'accès à une table
    - savoir si une table est bloquée
    - bloquer l'accès à plusieurs lignes d'une table
    - savoir si une ligne est bloquée

    ce que je ne veux pas, c'est être obligé un jour d'avoir à me connecter à la base pour débloquer l'accès à une table ou une ligne parceque l'application ne l'a pas libéré pour quelque raison que ce soit (plantage, coupure électrique, coupure réseau etc)
    Tutoriels OpenGL
    Je ne répondrai à aucune question en MP
    - Si c'est simple tu dis que c'est compliqué et tu le fait
    - Si c'est compliqué tu dis que c'est simple et tu le sous-traite ou le fait faire par un stagiaire.

Discussions similaires

  1. Comment fait-on pour que le texte ds une table reviennent à la ligne
    Par Lolie11 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 11
    Dernier message: 22/05/2007, 11h49
  2. Erreur 2311 "verrouillage de table impossible"
    Par AndréPe dans le forum Access
    Réponses: 2
    Dernier message: 29/01/2007, 10h33
  3. [SWT][table] supprimer une ligne.
    Par Mireyu_c dans le forum SWT/JFace
    Réponses: 2
    Dernier message: 16/10/2006, 10h59
  4. [SQL2K] Pb de taille de table et de ligne
    Par maitrebn dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 05/09/2006, 15h26
  5. Réponses: 2
    Dernier message: 13/07/2006, 17h01

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo