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 & SQL Server 2012


Sujet :

VB 6 et antérieur

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Autodidacte
    Inscrit en
    Mars 2020
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : Belgique

    Informations professionnelles :
    Activité : Autodidacte
    Secteur : Santé

    Informations forums :
    Inscription : Mars 2020
    Messages : 8
    Points : 5
    Points
    5
    Par défaut VB6 & SQL Server 2012
    Bonjour,
    Je recherche en vain à pouvoir interagir avec ma base de données SQLserver.
    J'ai la connexion, je peux lire les données et les retourner dans un msflexgrid, mais par contre, lorsque je veux modifier, ajouter un élément, il m'indique :
    Le jeu d'enregistrements suivant ne prend pas en charge la mise à jour. Il s'agit peut être d'une limitation du fournisseur ou du type de verrou sélectionné."
    Quelqu'un aurait la solution?
    En vous remerciant.
    Guy.

  2. #2
    Modérateur
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 077
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 077
    Points : 17 172
    Points
    17 172
    Par défaut
    Salut, bienvenue sur DVP

    Un peu de ton code, la connexion à la base de données, le branchement à ta table, permettrait sûrement de t'aider efficacement.
    Soyez sympa, pensez -y
    Balises[CODE]...[/CODE]
    Balises[CODE=NomDuLangage]...[/CODE] quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Balises[C]...[/C] code intégré dans une phrase.
    Balises[C=NomDuLangage]...[/C] code intégré dans une phrase quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Le bouton en fin de discussion, quand vous avez obtenu l'aide attendue.
    ......... et pourquoi pas, pour remercier, un pour celui/ceux qui vous ont dépannés.
    👉 → → Ma page perso sur DVP ← ← 👈

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Autodidacte
    Inscrit en
    Mars 2020
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : Belgique

    Informations professionnelles :
    Activité : Autodidacte
    Secteur : Santé

    Informations forums :
    Inscription : Mars 2020
    Messages : 8
    Points : 5
    Points
    5
    Par défaut
    Citation Envoyé par ProgElecT Voir le message
    Salut, bienvenue sur DVP

    Un peu de ton code, la connexion à la base de données, le branchement à ta table, permettrait sûrement de t'aider efficacement.
    Bonjour,

    Merci de cette rapide réponse.
    Voici ci dessous le code demandé.
    En te remerciant encore de ton aide.
    Bien à toi .
    Guy

    Dans le Module
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Public Cnx As New ADODB.Connection
     
        Public Function ConnexionSQL()
            Set Cnx = New ADODB.Connection
            Cnx.ConnectionTimeout = 25
            Cnx.CommandTimeout = 180
            Cnx.CursorLocation = adUseClient
            Cnx.ConnectionString = "Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=Audiciel;Data Source=DESKTOP-J96RF2E;Trusted_Connection=True;"
            Cnx.Open
            MsgBox (" La Base de données Audiciel est ouverte et active")
        End Function
    Dans le form:
    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
    19
    20
    21
    22
    23
    Sub Edit_Data()
        With MSFlexGrid1
     
        'déclarations
            Dim Inp As String
            Dim SelectedField As String
            Dim Rec As New ADODB.Recordset
     
        'ouvre la table
            ConnexionSQL
            strsql = "select Users_Password FROM users Where users_Id = " & .TextMatrix(.Row, 0)
            Rec.Open strsql, Cnx
            Rec.Fields(0) = Inp
     
        'Ferme la DB
            Cnx.Close
            MsgBox (" La Base de données Audiciel est à présent refermée")
     
        'recharge la table
            Call Me.ChargeData
     
        End With
    End Sub

  4. #4
    Modérateur
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 077
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 077
    Points : 17 172
    Points
    17 172
    Par défaut
    Salut

    Ta ligne 12 dans le code du form, essais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
            Rec.Open strsql, Cnx, adOpenStatic, adLockPessimistic
    Soyez sympa, pensez -y
    Balises[CODE]...[/CODE]
    Balises[CODE=NomDuLangage]...[/CODE] quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Balises[C]...[/C] code intégré dans une phrase.
    Balises[C=NomDuLangage]...[/C] code intégré dans une phrase quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Le bouton en fin de discussion, quand vous avez obtenu l'aide attendue.
    ......... et pourquoi pas, pour remercier, un pour celui/ceux qui vous ont dépannés.
    👉 → → Ma page perso sur DVP ← ← 👈

  5. #5
    Futur Membre du Club
    Homme Profil pro
    Autodidacte
    Inscrit en
    Mars 2020
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : Belgique

    Informations professionnelles :
    Activité : Autodidacte
    Secteur : Santé

    Informations forums :
    Inscription : Mars 2020
    Messages : 8
    Points : 5
    Points
    5
    Par défaut
    Merci de ta réponse.Cette étape fonctionne.

    Mais à présent sur le code modifié (voir ci-dessous), il me change la valeur sur TOUS les enregistrements de la table
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    ConnexionSQL
    strsql = "select Users_Password FROM users Where users_Id = " & .TextMatrix(.Row, 0)
    Rec.Open strsql, Cnx, adOpenStatic, adLockPessimistic
    Rec.Fields(0) = Inp
    Rec.Update
    et me retourne l'erreur :
    Erreur d'exécution '-2147467259 (80004005)'
    Informations sur la colonne clé insuffisantes ou incorrectes. Trop de lignes sont affectées par la mise à jour.
    Il me semble bien lui dire de me ressortir l'enregistrement sur un index (clé unique qui plus est) se trouvant dans la cellule sélectionnée.

    PS : Comme tu l'auras peut être remarqué, je suis très (très) novice. C'est la première fois que je me lance dans une connexion avec SQL server. Jusqu'ici, j'ai toujours attaqué des bases de données MDB.

    Aurais tu des liens parmi lesquels je pourrais me documenter de façon plus pragmatique?

    En te remerciant encore vivement.

    Bien cordialement

    Guy.

  6. #6
    Modérateur
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 077
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 077
    Points : 17 172
    Points
    17 172
    Par défaut
    Re

    Peux tu nous mettre ce que tu lis de la requête MsgBox strsql, juste avant l'ouverture de la table.
    De plus, suite à l'ouverture de la table, fait un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Rec.MoveFirstg
    Rec.MoveLast
    MsgBox Rec.RecordCount
    Cela confirme le renvoi de tous les enregistrements de ta BD ?
    Soyez sympa, pensez -y
    Balises[CODE]...[/CODE]
    Balises[CODE=NomDuLangage]...[/CODE] quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Balises[C]...[/C] code intégré dans une phrase.
    Balises[C=NomDuLangage]...[/C] code intégré dans une phrase quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Le bouton en fin de discussion, quand vous avez obtenu l'aide attendue.
    ......... et pourquoi pas, pour remercier, un pour celui/ceux qui vous ont dépannés.
    👉 → → Ma page perso sur DVP ← ← 👈

  7. #7
    Futur Membre du Club
    Homme Profil pro
    Autodidacte
    Inscrit en
    Mars 2020
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : Belgique

    Informations professionnelles :
    Activité : Autodidacte
    Secteur : Santé

    Informations forums :
    Inscription : Mars 2020
    Messages : 8
    Points : 5
    Points
    5
    Par défaut
    Re,

    1. MsgBox(strsql) rend : select users_password from Users where users_id=2
    2. Rec.RecordCount rend 1

    Bien à toi.

    Guy

  8. #8
    Modérateur
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 077
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 077
    Points : 17 172
    Points
    17 172
    Par défaut
    Re ...re

    Essais de préciser le nom du champ à remplir Rec.Fields("NomDuChamp") = Inp, l'erreur retournée étant pour partie
    Informations sur la colonne clé insuffisantes ou incorrectes.
    Sinon, Fields(0) ne doit pas correspondre au champ clef de la table, surtout s'il est auto-incrémenté.
    Aurais tu des liens parmi lesquels je pourrais me documenter de façon plus pragmatique?
    Un lien pour Un peu de lecture
    Soyez sympa, pensez -y
    Balises[CODE]...[/CODE]
    Balises[CODE=NomDuLangage]...[/CODE] quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Balises[C]...[/C] code intégré dans une phrase.
    Balises[C=NomDuLangage]...[/C] code intégré dans une phrase quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Le bouton en fin de discussion, quand vous avez obtenu l'aide attendue.
    ......... et pourquoi pas, pour remercier, un pour celui/ceux qui vous ont dépannés.
    👉 → → Ma page perso sur DVP ← ← 👈

  9. #9
    Futur Membre du Club
    Homme Profil pro
    Autodidacte
    Inscrit en
    Mars 2020
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : Belgique

    Informations professionnelles :
    Activité : Autodidacte
    Secteur : Santé

    Informations forums :
    Inscription : Mars 2020
    Messages : 8
    Points : 5
    Points
    5
    Par défaut
    Re-Bonjour,
    Malgré les modifications apportées, la procédure passe bien la modification dans la table … mais à tous les champs, puis ensuite génère le message d'erreur.
    Est-ce qu'il me faut donner d'autres paramètres à rec.update qui pose problème ?

  10. #10
    Futur Membre du Club
    Homme Profil pro
    Autodidacte
    Inscrit en
    Mars 2020
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : Belgique

    Informations professionnelles :
    Activité : Autodidacte
    Secteur : Santé

    Informations forums :
    Inscription : Mars 2020
    Messages : 8
    Points : 5
    Points
    5
    Par défaut
    * * * * * * * *
    J'ai trouvé !!!!!! c'est tout con.
    Le paramètre adLockPessimistic n’est pas pris en charge si la propriété CursorLocation a la valeur adUseClient.
    Or, elle l'était. je l'ai faite sauter et …. ca marche !

    Encore un tout grand merci pour ton aide.
    (Il se peut toutefois que vu mon expérience, il me faille encore crier à l'aide …)

    Bien à toi.
    Guy.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. application vb6 de sql server à oracle
    Par ess2007 dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 15/04/2007, 17h13
  2. vb6 et sql server 2000
    Par tinhinan6 dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 09/01/2007, 14h09
  3. probleme d'application client-serveur en vb6 et SQL server
    Par maxtin dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 15/08/2006, 14h19
  4. [VB6 MySQL / SQL Server]
    Par Essedik dans le forum VB 6 et antérieur
    Réponses: 13
    Dernier message: 31/03/2006, 23h08
  5. Réponses: 3
    Dernier message: 05/03/2003, 11h08

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