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

VB 6 et antérieur Discussion :

[VB6] Comment se connecter a SQL Server


Sujet :

VB 6 et antérieur

  1. #1
    Membre éclairé
    Inscrit en
    Septembre 2005
    Messages
    617
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 617
    Points : 733
    Points
    733
    Par défaut [VB6] Comment se connecter a SQL Server
    Voila j'ai quelques notions mais pas assez pour bien comprendre...

    Je dois faire un formulaire qui se connecte a sql server 2000 qui doit pouvoir rendre compte de toute les manipulations d'autres utilisateurs. Enregistrement unique par page.
    On ne pourrait modifier un enregistrement qu'en cliquant sur un bouton, modifier et a ce moment je veux que ce soit un seul utilisateur qui puisse modifier cet enregistrement. Les autres auraient un message les avertissant que ce record est read only.

    Je devrais donc utiliser un curseur coté serveur (adUseServer), un type de curseur dynamique (adopendynamic), et un verrouillage pessimiste (adLockPessimistic).

    Mais ca ne marche pas.

    voici le code de connection:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
     
    Dim adoPrimaryRS As Recordset
     
    Private Sub Form_Load()
      Dim db As Connection
      Set db = New Connection
     
      db.Open "PROVIDER=MSDASQL;dsn=DATASERV;uid=admin;pwd=*******;database=db1;"
      db.CursorLocation = adUseServer
     
      Set adoPrimaryRS = New Recordset
      adoPrimaryRS.Open "select [Ref Client],[Firme Fact],[Nom Fact],[Adresse Fact 1],[Adresse Fact 2],[Code postal Fact],[Ville Fact],[Firme Liv],[Nom Liv],[Adresse Liv 1],[Adresse Liv 2],[Code postal Liv],[Ville Liv],[No TVA],[Tel 1],[Tel 2],GSM,Fax,Banque,Email,[Code Langue],Devise,[Remarque 1],[Remarque 2] from Tbl_Clients Order by [Ref Client]", db, _
      adOpenKeyset, adLockPessimistic
     
      For Each oText In Me.txtFields
        Set oText.DataSource = adoPrimaryRS
      Next
    End Sub
    Problemes:

    1. la numérotation des records ne suit pas (AbsolutePos, recordcount = -1)
    2. Les mises a jours ne vont pas.

    Enfin je suis perdu un coup de main de pros SVP lol
    Un exemple me conviendra aussi...

    Serais-ce le ORDER By qui est ennuyant?
    Merci beaucoup

  2. #2
    Inactif  
    Avatar de jmfmarques
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    3 784
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 3 784
    Points : 4 674
    Points
    4 674
    Par défaut
    Ta question à propos du ORDER BY (sans order by dans ta requête) serait de toutes façons indépendante du problème que tu poses à propos de la disponibilité partagée de la base !
    Je suis troublé !
    Première question, donc :
    Quid du résultat avec un seul utilisateur ? (sans encore parler de disponibilités à la demande) ?
    Si celà coince déjà là : ta question devra être posée sans même parler, à ce niveau, du reste (plusieurs utilisateurs), il me semble !

  3. #3
    Membre éclairé
    Inscrit en
    Septembre 2005
    Messages
    617
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 617
    Points : 733
    Points
    733
    Par défaut
    Pour parler du order by, si je ne le fait pas et que je prend la table telle quelle pas de soucis majeur, mais si je lui donne cette instruction, ca foire... je ne comprend pas pourquoi... en gros ca dis ' les mise a jours ne sont pas supportée par ce type de recordset ' et quan dj'essaie de voir quels sont les parametres a ce niveau plus rien a voir avec ce que je demandais... Comprend pas pourquoi lol

  4. #4
    Xo
    Xo est déconnecté
    Expert confirmé
    Avatar de Xo
    Inscrit en
    Janvier 2005
    Messages
    2 701
    Détails du profil
    Informations personnelles :
    Âge : 51

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 701
    Points : 4 238
    Points
    4 238
    Par défaut
    Une fois ton recordset rempli avec les données, il te faut le parcourir.
    La propriété RecordCount n'est pas "mise à jour" tant que tu n'as pas appelé la méthode MoveNext ou MoveLast.

    cf http://drq.developpez.com/vb/tutoriels/ADO/Chapitre3/

  5. #5
    Expert éminent
    Avatar de ThierryAIM
    Homme Profil pro
    Inscrit en
    Septembre 2002
    Messages
    3 673
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2002
    Messages : 3 673
    Points : 8 524
    Points
    8 524
    Par défaut
    fais un test avec :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    db.CursorLocation = adUseClient

Discussions similaires

  1. [2005] Comment se connecter simplement à SQL Server 2005 ?
    Par Tchupacabra dans le forum MS SQL Server
    Réponses: 9
    Dernier message: 19/11/2013, 23h08
  2. Comment se connecter a sql server 7 en jdbc
    Par PoichOU dans le forum JDBC
    Réponses: 8
    Dernier message: 06/03/2009, 12h42
  3. Comment se connecter à MS SQL Server via java?
    Par Sylvies209 dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 06/02/2009, 16h13
  4. [C# Express] Comment se connecter à Sql server Express 2005 ?
    Par lamyae_84 dans le forum Accès aux données
    Réponses: 3
    Dernier message: 26/08/2006, 23h23
  5. [VB6] Comment lister les serveurs SQL d'un domaine ?
    Par WOLO Laurent dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 29/01/2004, 08h49

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