cs_alicia26
Messages postés65Date d'inscriptionlundi 21 mai 2007StatutMembreDernière intervention 7 juillet 2009
-
28 juil. 2008 à 17:44
nhervagault
Messages postés6063Date d'inscriptiondimanche 13 avril 2003StatutMembreDernière intervention15 juillet 2011
-
28 juil. 2008 à 20:23
bonjour à tous!!
depuis plusieurs jours que j'essaie sans succès de corriger cette erreur dans mon code.
c'est un formulaire d'authentification,seul particularité l'username est contenu dans un dropdownlist qui liste tous les emails contenus dans la base de données (sous access) et pour une 1ère connexion,l'utilisateur est redirigé vers une autre page afin de créer son nouveau mot de passe(le mot de passe par défaut:password).
la génération m'affiche cette erreur:
cette ligne myreader As
Data.OleDb.OleDbDataReader = Mycommand.ExecuteReader() est surligné et
cette erreur est affiché:
aucune valeur donnée pour un ou plusieurs des paramètres requis.
ma page login.aspx.vb
Imports System.Data
Imports System.Data.OleDb
Partial Class Login
Inherits System.Web.UI.Page
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
End Sub
Sub BtnSubmit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnSubmit.Click
Dim MyConnection As Data.OleDb.OleDbConnection = New Data.OleDb.OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data source=D:\Visual Studio 2005\WebSites4\App_Data\Bdd.mdb")
Dim Mycommand As Data.OleDb.OleDbCommand = MyConnection.CreateCommand()
Mycommand.CommandText = " select * from employés where password= " & passwd.Text & " and email=? "
Dim myreader As Data.OleDb.OleDbDataReader = Mycommand.ExecuteReader()
Do While myreader.Read()
Dim Log As String = myreader.GetString(0)
Dim Pwd As String = myreader.GetString(1)
If DropDownList2.SelectedValue "Log" And passwd.Text "password" Then
Response.Redirect("page1.aspx")
Else
Response.Redirect("page2.aspx")
End If
Loop
myreader.Close()
nhervagault
Messages postés6063Date d'inscriptiondimanche 13 avril 2003StatutMembreDernière intervention15 juillet 201137 28 juil. 2008 à 19:51
Bonjour,
C'est une erreur classique de ACCESS
c'est qu'un de tes parametres est incorrecte
Ta requete semble bizarre
select * from employés where password= '" & passwd.Text & "' and email=?
Met passwd en requete paramtrée car ici il n'est pas conciéré comme chaine de caractere il semble manquer
les apostrophes (en rouge)
avec les requetes parametrees tu n'aurais pas eu le probleme