Visual basic 6

cyrilherve Messages postés 324 Date d'inscription dimanche 12 août 2007 Statut Membre Dernière intervention 26 août 2011 - 4 juin 2008 à 15:16
cyrilherve Messages postés 324 Date d'inscription dimanche 12 août 2007 Statut Membre Dernière intervention 26 août 2011 - 5 juin 2008 à 10:02
voila je travail sur une application avec vb6 et une bd access 2003
pour acceder a l'appli l'utilisateur doit se connecter avc un compte
et un mot de passe. l'appli recupere le mot de passe et verifie ds une
table COMPTES  cree dans la bd access.

mon appli se charge avec le sub main (module de connection) dont voici le code
' declaration general
public cnx as adodb.connection
public rst as adodb.recordset
public tt as string

'le code du sub main
sub main
set cnx as new adodb.connection
cnx.connectionstring="dsn=inscription"
set rst as new adodb.recordset
'lance l'interface d'authentification
frmconnection.show
end sub


voila le code de ma feuille frmconnection , precisement celle qui semble ne pas fonctionner
'je precise que j'ai mis cette requette sur une mm ligne pr eviter les pblmes de syntaxes et que le il sagit du code du bouton " valider " de ma feuille

tt="select * from COMPTES where compteutilisateur= ' " &trim(txtcompte.text)& " ' and motdepasse= ' " &trim(txtmotdepasse.text)& " '  "
cnx.open
set rst = cnx.execute(tt)
if  not rst.eof then
 MDI.inscription.show
else
 msgbox(" verifier votre mot de passe ou votre compte ")
end if


mais voila a chaque que j'execute j'ai cette erreur :

erreur d'execution'-2147217904(80040e10)':

[Microsoft][Pilote ODBC Microsoft Access] trop de parametres. 1

attendu.

que faire ?

tatus

10 réponses

Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
4 juin 2008 à 15:21
il semble que tu aies une erreur de frappe...

veilles à bien nommer tes champs dans la requete SQL

de plus , je mettrais plutot :

set rst = cnx.OpenRecordset(tt)
0
cyrilherve Messages postés 324 Date d'inscription dimanche 12 août 2007 Statut Membre Dernière intervention 26 août 2011
4 juin 2008 à 15:28
qu'est qui change puisqu'avant j'ouvre la bd avc cnx.open

tatus
0
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
4 juin 2008 à 15:31
la méthode Execute est là pour les requetes qui ne renvoient pas de donnée...(INSERT, UPDATE, DELETE, ALTER ....)
0
cyrilherve Messages postés 324 Date d'inscription dimanche 12 août 2007 Statut Membre Dernière intervention 26 août 2011
4 juin 2008 à 15:43
donc en fait faisant
set rst =cnx.openrecordset(tt)
je pourais tjrs tster le recordset
avc le   if not rst.eof then
           .....
je m'excuse je n'ai pas mon appi avc moi , je vais essayer ...

tatus
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
4 juin 2008 à 15:49
oui, sans soucis

gaffe aux injections SQL (doubles les simples quotes)

si je tapes par exemple :

' OR '1'='1

comme mot de passe, ton logiciel se lance
0
hahihahih Messages postés 1 Date d'inscription mardi 3 juin 2008 Statut Membre Dernière intervention 4 juin 2008
4 juin 2008 à 20:02
quels sont les tables que je peux utiliseé (access)pour une gestion de pharmacie svp
0
cyrilherve Messages postés 324 Date d'inscription dimanche 12 août 2007 Statut Membre Dernière intervention 26 août 2011
4 juin 2008 à 22:04
voila j'ai essayer avc set rst= cnx.openrecordset(tt)
et ça ne marche tjrs pas

tatus
0
cyrilherve Messages postés 324 Date d'inscription dimanche 12 août 2007 Statut Membre Dernière intervention 26 août 2011
4 juin 2008 à 22:11
ecoute ça depend de ce que tu veux gerer au niveau de
le pharmacie, soit plus precis

tatus
0
cyrilherve Messages postés 324 Date d'inscription dimanche 12 août 2007 Statut Membre Dernière intervention 26 août 2011
4 juin 2008 à 22:27
je rdonne le code de mes feuilles
(1) mdl connection qui demarre avc l'appli

Public cnx As ADODB.Connection
Public rst As ADODB.Recordset
Public cmd As ADODB.Command
Public tt As String




Private Sub main()
 Set cnx = New ADODB.Connection
 Set rst = New ADODB.Recordset
 cnx.ConnectionString = "DSN=inscription"
 frmconnection.Show
End Sub


(2) frmconnection

Private Sub cmdannuler_Click()
  txtcompte = ""
  txtmotdepasse = ""
End Sub


Private Sub cmdconnecter_Click()


   If optiontypecompte(0).Value = True Then
     nomtype = "administrateur"
   Else
     If optiontypecompte(1).Value = True Then
     nomtype = "utilisateur"
     End If
  End If
 
cnx.Opentt "select * from COMPTES where Compteutilisateur ' " & Trim(txtcompte.Text) & " ' and Motdepasse= ' " & Trim(txtmotdepasse.Text) & " ' "
Set rst = cnx.Execute(tt)


If (Not rs.EOF) Then
  MDIgestioninscription.Show
Else
  MsgBox (" vous n'avez pas entrer les bons parametres de connection !")
End If
cnx.Close


End Sub


Private Sub Form_Load()


End Sub

tatus

i need help
0
cyrilherve Messages postés 324 Date d'inscription dimanche 12 août 2007 Statut Membre Dernière intervention 26 août 2011
5 juin 2008 à 10:02
tatus
0
Rejoignez-nous