Apprendre ADO

cs_dini Messages postés 3 Date d'inscription mercredi 18 février 2004 Statut Membre Dernière intervention 18 février 2004 - 18 févr. 2004 à 14:14
plaineR Messages postés 237 Date d'inscription mercredi 26 novembre 2003 Statut Membre Dernière intervention 6 décembre 2005 - 18 févr. 2004 à 16:31
Bonjour,

Utilisateur pro de VB 5, je me suis tourné très récemment vers VB 6...
Un souhait particulier : ADO

Voici ma question (ne riez pas !)

j'ai un petit projet VB qui contient 1 form (avec 1 bouton), et 1 data environment.

Le data environment s'appelle (de), une connexion (cnn), et une commande (cmd1 ; cmd1 est en fait une requête "select * from dbo.employees"), vers la table dbo.employees de la db Northwind de mssql server 2000.
--> test connexion réussi et no prob.

Puis-je être aidé pour les 3,4 lignes de codes à placer sur mon bouton pour afficher par exemple (msgbox) la valeur du 1er champ du premier record ?

--> je recherche l'équivalent de ce petit bloc d'instruction, mais en utillisant les objets dataenvironment, connection, et command... ?

"dim db as database
dim rs as recordset
set db=opendatabase(blabla)
set rs=db.openrecordset(blabla)
rs.movefirst
msgbox rs.fields(0).value
set db=nothing
set rs=nothing
"

merci aux spécialistes...

4 réponses

plaineR Messages postés 237 Date d'inscription mercredi 26 novembre 2003 Statut Membre Dernière intervention 6 décembre 2005 4
18 févr. 2004 à 14:28
Voilà le code à placer dans ton bouton

With dte.rscmd1
If .State <> adStateOpen Then
.Open
End If
.MoveFirst
MsgBox .Fields("ledger")
'Eventuellement
.Close
End With
0
cs_dini Messages postés 3 Date d'inscription mercredi 18 février 2004 Statut Membre Dernière intervention 18 février 2004
18 févr. 2004 à 15:18
Merci...

m'en sors pas...

voici mon architecture "Data Environment"
DataEnvironment1
|--Connection1
|--Command1

Que dois-je écrire sur le "click" de mon bouton ?

? dim dte as dataenvironment ? as dataenvironment1 ?
(as new...)
? dim rscmd1 as command ? (as new...)
? pas besoin de dimensionner l'objet connection ?

et enfin, comment puis-je associer un recordset (rs) à ma "commande1" ?

Tant qu'à faire, si tu as la gentillesse de répondre...

- lorsque je veux exploiter non pas une table, mais une vue (sql server), je remplace simplement la table par le nom de la vue ? --> je suppose que oui

- l'activation d'un trigger est, je suppose, tout à fait étrangère à VB... c'est sql server qui le déclenchera lorsqu'il détectera une action sur la table où agira mon trigger...

Merci
0
cs_dini Messages postés 3 Date d'inscription mercredi 18 février 2004 Statut Membre Dernière intervention 18 février 2004
18 févr. 2004 à 15:43
Pardon, j'ai bien compris ton code source, et cela fonctionne...

dans le code que tu m'as écrits, où placerais-tu le mdp pour la connexion à la DB ? J'aimerais ne pas l'écrire en "dur" dans mon "Data Environment" ?

Denis
0
plaineR Messages postés 237 Date d'inscription mercredi 26 novembre 2003 Statut Membre Dernière intervention 6 décembre 2005 4
18 févr. 2004 à 16:31
Si tu veux par exemple ouvrir ta connection après saisie d'un mot de passe dans un textbox, voici le code à mettre après validation du mot de passe
' ouverture de la connection avec le mot de passe saisi
dte.cnn1.Open , , txtPwd.text

Ensuite dans ton bouton :
Dim rs As ADODB.Recordset
Set rs = dte.Commands("cmd1").Execute
rs.MoveFirst
MsgBox rs.Fields("ledger")
'Eventuellement
rs.Close

A la fermeture de ton projet :
dte.cnn1.Close

Pour ce qui est de tes 2 questions :
- oui (pour le remplacement de la table par la vue)
- oui, l'activaion du trigger dépend de ta base et non de VB

En espérant avoir été assez clair...

Bon courage
0
Rejoignez-nous