Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Pb requete parameters

6 réponses
Avatar
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=False")

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

6 réponses

Avatar
Patrice
Cela donne quoi avec * au lieu de % ?

--
Patrice

"Jean Claude" a écrit dans le message 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



Avatar
Jean Claude
Bonjour Patrice

Ca change riern
JClaude
"Patrice" <http://www.chez.com/scribe/> a écrit dans le message de news:
%23%
Cela donne quoi avec * au lieu de % ?

--
Patrice

"Jean Claude" a écrit dans le message 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







Avatar
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" a écrit dans le message de
news: 48073c3b$0$895$
Bonjour Patrice

Ca change riern
JClaude
"Patrice" <http://www.chez.com/scribe/> a écrit dans le message de news:
%23%
Cela donne quoi avec * au lieu de % ?

--
Patrice

"Jean Claude" a écrit dans le message 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











Avatar
Jean Claude
Quand je fais la requete sans parametres cela fonctionne

"Patrice" <http://www.chez.com/scribe/> a écrit dans le message de news:

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" a écrit dans le message de
news: 48073c3b$0$895$
Bonjour Patrice

Ca change riern
JClaude
"Patrice" <http://www.chez.com/scribe/> a écrit dans le message de news:
%23%
Cela donne quoi avec * au lieu de % ?

--
Patrice

"Jean Claude" a écrit dans le message
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















Avatar
Patrice
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
Avatar
Jean Claude
OK c'est bon merci Patrice pour ton aide

JClaude
"Patrice" <http://www.chez.com/scribe/> a écrit dans le message de news:
%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