Pb requete parameters

Le
Jean Claude
Bonjour

J'ai voulu modifier une requete simple en requete paramétrée, j'ai codé :

DBConn = New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source="
& Session("PathSite") & ";Persist Security Infoúlse")

DBCommand = New OleDbCommand _

("Select * From " & Session("TableDep") & " Where MotCles" _

& " LIKE ?", DBConn)



Dim myOleDbDataAdapter As New OleDbDataAdapter(DBCommand)

DBCommand.Parameters.AddWithValue("MotCles", "%" & Session("Recherche") &
"%")

DBConn.Open()

myOleDbDataAdapter.SelectCommand.Parameters("MotCles").Value =
Session("Recherche")

Il doit y avoir une erreur dans mon code, car je n'ai pas d'enregistrement
alors qu'il y en a dans ma table

Pouvez-vous m'indiquer l'erreur

Cordialement
JClaude
Questions / Réponses high-tech
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Patrice
Le #12202951
Cela donne quoi avec * au lieu de % ?

--
Patrice

"Jean Claude" news: 48030d37$0$843$
Bonjour

J'ai voulu modifier une requete simple en requete paramétrée, j'ai codé :

DBConn = New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data
Source=" & Session("PathSite") & ";Persist Security Infoúlse")

DBCommand = New OleDbCommand _

("Select * From " & Session("TableDep") & " Where MotCles" _

& " LIKE ?", DBConn)



Dim myOleDbDataAdapter As New OleDbDataAdapter(DBCommand)

DBCommand.Parameters.AddWithValue("MotCles", "%" & Session("Recherche") &
"%")

DBConn.Open()

myOleDbDataAdapter.SelectCommand.Parameters("MotCles").Value =
Session("Recherche")

Il doit y avoir une erreur dans mon code, car je n'ai pas d'enregistrement
alors qu'il y en a dans ma table

Pouvez-vous m'indiquer l'erreur

Cordialement
JClaude



Jean Claude
Le #12202901
Bonjour Patrice

Ca change riern
JClaude
"Patrice" %23%
Cela donne quoi avec * au lieu de % ?

--
Patrice

"Jean Claude" news: 48030d37$0$843$
Bonjour

J'ai voulu modifier une requete simple en requete paramétrée, j'ai codé :

DBConn = New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data
Source=" & Session("PathSite") & ";Persist Security Infoúlse")

DBCommand = New OleDbCommand _

("Select * From " & Session("TableDep") & " Where MotCles" _

& " LIKE ?", DBConn)



Dim myOleDbDataAdapter As New OleDbDataAdapter(DBCommand)

DBCommand.Parameters.AddWithValue("MotCles", "%" & Session("Recherche") &
"%")

DBConn.Open()

myOleDbDataAdapter.SelectCommand.Parameters("MotCles").Value =
Session("Recherche")

Il doit y avoir une erreur dans mon code, car je n'ai pas
d'enregistrement alors qu'il y en a dans ma table

Pouvez-vous m'indiquer l'erreur

Cordialement
JClaude







Patrice
Le #12202891
Et en exécutant la requête dans Access ?

Notamment si MotsCles contient une suite de mots clefs et que l'ordre de ces
mots clés n'est pas le même dans la table on n'aura pas de correspondance
(généralement on a une table des mots clefs qui correspondent à
l'enregistrement parent).

--
Patrice


"Jean Claude" news: 48073c3b$0$895$
Bonjour Patrice

Ca change riern
JClaude
"Patrice" %23%
Cela donne quoi avec * au lieu de % ?

--
Patrice

"Jean Claude" news: 48030d37$0$843$
Bonjour

J'ai voulu modifier une requete simple en requete paramétrée, j'ai codé
:

DBConn = New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data
Source=" & Session("PathSite") & ";Persist Security Infoúlse")

DBCommand = New OleDbCommand _

("Select * From " & Session("TableDep") & " Where MotCles" _

& " LIKE ?", DBConn)



Dim myOleDbDataAdapter As New OleDbDataAdapter(DBCommand)

DBCommand.Parameters.AddWithValue("MotCles", "%" & Session("Recherche")
& "%")

DBConn.Open()

myOleDbDataAdapter.SelectCommand.Parameters("MotCles").Value =
Session("Recherche")

Il doit y avoir une erreur dans mon code, car je n'ai pas
d'enregistrement alors qu'il y en a dans ma table

Pouvez-vous m'indiquer l'erreur

Cordialement
JClaude











Jean Claude
Le #12202881
Quand je fais la requete sans parametres cela fonctionne

"Patrice"
Et en exécutant la requête dans Access ?

Notamment si MotsCles contient une suite de mots clefs et que l'ordre de
ces mots clés n'est pas le même dans la table on n'aura pas de
correspondance (généralement on a une table des mots clefs qui
correspondent à l'enregistrement parent).

--
Patrice


"Jean Claude" news: 48073c3b$0$895$
Bonjour Patrice

Ca change riern
JClaude
"Patrice" %23%
Cela donne quoi avec * au lieu de % ?

--
Patrice

"Jean Claude" de news: 48030d37$0$843$
Bonjour

J'ai voulu modifier une requete simple en requete paramétrée, j'ai codé
:

DBConn = New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data
Source=" & Session("PathSite") & ";Persist Security Infoúlse")

DBCommand = New OleDbCommand _

("Select * From " & Session("TableDep") & " Where MotCles" _

& " LIKE ?", DBConn)



Dim myOleDbDataAdapter As New OleDbDataAdapter(DBCommand)

DBCommand.Parameters.AddWithValue("MotCles", "%" & Session("Recherche")
& "%")

DBConn.Open()

myOleDbDataAdapter.SelectCommand.Parameters("MotCles").Value =
Session("Recherche")

Il doit y avoir une erreur dans mon code, car je n'ai pas
d'enregistrement alors qu'il y en a dans ma table

Pouvez-vous m'indiquer l'erreur

Cordialement
JClaude















Patrice
Le #12202871
Trouvé, je pense - et en plus c'était évident ;-) :

DBCommand.Parameters.AddWithValue("MotCles", "%" &
Session("Recherche") & "%")











est correct

mais ensuite on a :

myOleDbDataAdapter.SelectCommand.Parameters("MotCles").Value =
Session("Recherche")











ce qui supprime transforme le LIKE en un simple égal à cause des caractères
% manquants...

--
Patrice
Jean Claude
Le #12202811
OK c'est bon merci Patrice pour ton aide

JClaude
"Patrice" %23PU0B$
Trouvé, je pense - et en plus c'était évident ;-) :

DBCommand.Parameters.AddWithValue("MotCles", "%" &
Session("Recherche") & "%")











est correct

mais ensuite on a :

myOleDbDataAdapter.SelectCommand.Parameters("MotCles").Value =
Session("Recherche")











ce qui supprime transforme le LIKE en un simple égal à cause des
caractères % manquants...

--
Patrice





Publicité
Poster une réponse
Anonyme