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

Création d'un petit moteur de recherche sur base SQL - suite erreur sur envoi precedent

5 réponses
Avatar
Daniel
Bonjour,

Je travail su VS 2005 en vb.net et SQL.

J'aissais de créer un petit moteur de recherche qui avec plusieurs mots dans
un textbox me renverrait les données. A peine démarré, j'ai déjà un
problème.

Je voulais faire un split sur ma textbox pour récupérer les différents mots
et revoyer dans une variable en formatant le texte.

J'avais pensé à quelque chose de ce type.

Dim Format As String
Dim i As Integer
For Each Infos As String In Me.TextBox1.Text.Split(" ")
i = i + 1
Format = " (Nomdelacollone like % + " & Infos & " + %) and "
Next Infos
Dim Select as string = "Select * From mabase Where" & Format

Comme vous pouvez vous doutez ca ne marche pas, j'avou ne pas être trés bon
au niveau de boucle.
Dans mon For Each pour vérifier, j'expédies les données dans un
respose.write c'est ok mais bon je ne veux pas de HTML, je veux les expédier
dans une variable et la le système me renvoi que le dernière mot.

Quelqu'un pourrait il me mettre sur la voie ou y a t'il un exemple pour ce
type de requête.

En vous remerciant par avance.

5 réponses

Avatar
Daniel
J'ai peu être trouvé, j'ai fait ça.

Dim test As String = ""
For Each Infos As String In Me.TextBox1.Text.Split(" ")
test &= "debut " & Infos & " milieu"
Next
test &= "fin"
Me.Label1.Text = test

Mais je reste à l'écoute, s'il existe un exemple de code pour un petit
moteur de recherche multi-mots et multi-champ.

Cordialement,

"Daniel" a écrit dans le message de
news: OY9bRja%
Bonjour,

Je travail su VS 2005 en vb.net et SQL.

J'aissais de créer un petit moteur de recherche qui avec plusieurs mots
dans
un textbox me renverrait les données. A peine démarré, j'ai déjà un
problème.

Je voulais faire un split sur ma textbox pour récupérer les différents
mots
et revoyer dans une variable en formatant le texte.

J'avais pensé à quelque chose de ce type.

Dim Format As String
Dim i As Integer
For Each Infos As String In Me.TextBox1.Text.Split(" ")
i = i + 1
Format = " (Nomdelacollone like % + " & Infos & " + %) and "
Next Infos
Dim Select as string = "Select * From mabase Where" & Format

Comme vous pouvez vous doutez ca ne marche pas, j'avou ne pas être trés
bon au niveau de boucle.
Dans mon For Each pour vérifier, j'expédies les données dans un
respose.write c'est ok mais bon je ne veux pas de HTML, je veux les
expédier dans une variable et la le système me renvoi que le dernière mot.

Quelqu'un pourrait il me mettre sur la voie ou y a t'il un exemple pour ce
type de requête.

En vous remerciant par avance.



Avatar
Karl Seguin [MVP]
Une recommandation que j'ai est d'utiliser un StringBuilder pour "test".
Ajouter plusieus (5+) valeur a un string peut affecter la performance.

dim test as new StringBuilder()
...
test.Append("debut");
test.Append(infos);
test.Append("millieu");
...
test.Append("fin")

Label1.Text = test.ToString()

Karl

--
http://www.openmymind.net/
http://www.codebetter.com/


"Daniel" wrote in message
news:ukaK2Fb%
J'ai peu être trouvé, j'ai fait ça.

Dim test As String = ""
For Each Infos As String In Me.TextBox1.Text.Split(" ")
test &= "debut " & Infos & " milieu"
Next
test &= "fin"
Me.Label1.Text = test

Mais je reste à l'écoute, s'il existe un exemple de code pour un petit
moteur de recherche multi-mots et multi-champ.

Cordialement,

"Daniel" a écrit dans le message de
news: OY9bRja%
Bonjour,

Je travail su VS 2005 en vb.net et SQL.

J'aissais de créer un petit moteur de recherche qui avec plusieurs mots
dans
un textbox me renverrait les données. A peine démarré, j'ai déjà un
problème.

Je voulais faire un split sur ma textbox pour récupérer les différents
mots
et revoyer dans une variable en formatant le texte.

J'avais pensé à quelque chose de ce type.

Dim Format As String
Dim i As Integer
For Each Infos As String In Me.TextBox1.Text.Split(" ")
i = i + 1
Format = " (Nomdelacollone like % + " & Infos & " + %) and "
Next Infos
Dim Select as string = "Select * From mabase Where" & Format

Comme vous pouvez vous doutez ca ne marche pas, j'avou ne pas être trés
bon au niveau de boucle.
Dans mon For Each pour vérifier, j'expédies les données dans un
respose.write c'est ok mais bon je ne veux pas de HTML, je veux les
expédier dans une variable et la le système me renvoi que le dernière
mot.

Quelqu'un pourrait il me mettre sur la voie ou y a t'il un exemple pour
ce type de requête.

En vous remerciant par avance.







Avatar
Daniel
J'ai pris en conpte votre information que j'ai imédiatement mis dans mon
application.
Merci.

Mais maintenant j'ai un autre probléme.
Supprimer le dernier AND de ma chaine de carractére.

Cordialement,

"Karl Seguin [MVP]" <karl REMOVE @ REMOVE openmymind REMOVEMETOO . ANDME
net> a écrit dans le message de news:
eqmw97b%
Une recommandation que j'ai est d'utiliser un StringBuilder pour "test".
Ajouter plusieus (5+) valeur a un string peut affecter la performance.

dim test as new StringBuilder()
...
test.Append("debut");
test.Append(infos);
test.Append("millieu");
...
test.Append("fin")

Label1.Text = test.ToString()

Karl

--
http://www.openmymind.net/
http://www.codebetter.com/


"Daniel" wrote in message
news:ukaK2Fb%
J'ai peu être trouvé, j'ai fait ça.

Dim test As String = ""
For Each Infos As String In Me.TextBox1.Text.Split(" ")
test &= "debut " & Infos & " milieu"
Next
test &= "fin"
Me.Label1.Text = test

Mais je reste à l'écoute, s'il existe un exemple de code pour un petit
moteur de recherche multi-mots et multi-champ.

Cordialement,

"Daniel" a écrit dans le message de
news: OY9bRja%
Bonjour,

Je travail su VS 2005 en vb.net et SQL.

J'aissais de créer un petit moteur de recherche qui avec plusieurs mots
dans
un textbox me renverrait les données. A peine démarré, j'ai déjà un
problème.

Je voulais faire un split sur ma textbox pour récupérer les différents
mots
et revoyer dans une variable en formatant le texte.

J'avais pensé à quelque chose de ce type.

Dim Format As String
Dim i As Integer
For Each Infos As String In Me.TextBox1.Text.Split(" ")
i = i + 1
Format = " (Nomdelacollone like % + " & Infos & " + %) and "
Next Infos
Dim Select as string = "Select * From mabase Where" & Format

Comme vous pouvez vous doutez ca ne marche pas, j'avou ne pas être trés
bon au niveau de boucle.
Dans mon For Each pour vérifier, j'expédies les données dans un
respose.write c'est ok mais bon je ne veux pas de HTML, je veux les
expédier dans une variable et la le système me renvoi que le dernière
mot.

Quelqu'un pourrait il me mettre sur la voie ou y a t'il un exemple pour
ce type de requête.

En vous remerciant par avance.











Avatar
Karl Seguin [MVP]
test.Remove(test.Length - 3, 3);

Maintenant que j'y pense, j'espaire que to va protèger ton code contre une
attack d'SQL injection.

Tu dois t'assurer que chaque "infos" n'est pas dangereux. Tu peus faire
test.Append(infos.Replace("'", "''") au minimum....

Karl

--
http://www.openmymind.net/
http://www.fuelindustries.com/


"Daniel" wrote in message
news:u83dfEc%
J'ai pris en conpte votre information que j'ai imédiatement mis dans mon
application.
Merci.

Mais maintenant j'ai un autre probléme.
Supprimer le dernier AND de ma chaine de carractére.

Cordialement,

"Karl Seguin [MVP]" <karl REMOVE @ REMOVE openmymind REMOVEMETOO . ANDME
net> a écrit dans le message de news:
eqmw97b%
Une recommandation que j'ai est d'utiliser un StringBuilder pour "test".
Ajouter plusieus (5+) valeur a un string peut affecter la performance.

dim test as new StringBuilder()
...
test.Append("debut");
test.Append(infos);
test.Append("millieu");
...
test.Append("fin")

Label1.Text = test.ToString()

Karl

--
http://www.openmymind.net/
http://www.codebetter.com/


"Daniel" wrote in message
news:ukaK2Fb%
J'ai peu être trouvé, j'ai fait ça.

Dim test As String = ""
For Each Infos As String In Me.TextBox1.Text.Split(" ")
test &= "debut " & Infos & " milieu"
Next
test &= "fin"
Me.Label1.Text = test

Mais je reste à l'écoute, s'il existe un exemple de code pour un petit
moteur de recherche multi-mots et multi-champ.

Cordialement,

"Daniel" a écrit dans le message
de news: OY9bRja%
Bonjour,

Je travail su VS 2005 en vb.net et SQL.

J'aissais de créer un petit moteur de recherche qui avec plusieurs mots
dans
un textbox me renverrait les données. A peine démarré, j'ai déjà un
problème.

Je voulais faire un split sur ma textbox pour récupérer les différents
mots
et revoyer dans une variable en formatant le texte.

J'avais pensé à quelque chose de ce type.

Dim Format As String
Dim i As Integer
For Each Infos As String In Me.TextBox1.Text.Split(" ")
i = i + 1
Format = " (Nomdelacollone like % + " & Infos & " + %) and "
Next Infos
Dim Select as string = "Select * From mabase Where" & Format

Comme vous pouvez vous doutez ca ne marche pas, j'avou ne pas être trés
bon au niveau de boucle.
Dans mon For Each pour vérifier, j'expédies les données dans un
respose.write c'est ok mais bon je ne veux pas de HTML, je veux les
expédier dans une variable et la le système me renvoi que le dernière
mot.

Quelqu'un pourrait il me mettre sur la voie ou y a t'il un exemple pour
ce type de requête.

En vous remerciant par avance.















Avatar
Daniel
Ca marche, impecable avec -4 (a cause de l'espace).

C'est la que l'on voie que les MVP ont un niveau au dessus. Je ne désepére
pas d'y arrivé, mais je programme trop irréguliérement.

Bien à vous.

"Karl Seguin [MVP]" <karl REMOVE @ REMOVE openmymind REMOVEMETOO . ANDME
net> a écrit dans le message de news:
eGDAaic%
test.Remove(test.Length - 3, 3);

Maintenant que j'y pense, j'espaire que to va protèger ton code contre une
attack d'SQL injection.

Tu dois t'assurer que chaque "infos" n'est pas dangereux. Tu peus faire
test.Append(infos.Replace("'", "''") au minimum....

Karl

--
http://www.openmymind.net/
http://www.fuelindustries.com/


"Daniel" wrote in message
news:u83dfEc%
J'ai pris en conpte votre information que j'ai imédiatement mis dans mon
application.
Merci.

Mais maintenant j'ai un autre probléme.
Supprimer le dernier AND de ma chaine de carractére.

Cordialement,

"Karl Seguin [MVP]" <karl REMOVE @ REMOVE openmymind REMOVEMETOO . ANDME
net> a écrit dans le message de news:
eqmw97b%
Une recommandation que j'ai est d'utiliser un StringBuilder pour "test".
Ajouter plusieus (5+) valeur a un string peut affecter la performance.

dim test as new StringBuilder()
...
test.Append("debut");
test.Append(infos);
test.Append("millieu");
...
test.Append("fin")

Label1.Text = test.ToString()

Karl

--
http://www.openmymind.net/
http://www.codebetter.com/


"Daniel" wrote in message
news:ukaK2Fb%
J'ai peu être trouvé, j'ai fait ça.

Dim test As String = ""
For Each Infos As String In Me.TextBox1.Text.Split(" ")
test &= "debut " & Infos & " milieu"
Next
test &= "fin"
Me.Label1.Text = test

Mais je reste à l'écoute, s'il existe un exemple de code pour un petit
moteur de recherche multi-mots et multi-champ.

Cordialement,

"Daniel" a écrit dans le message
de news: OY9bRja%
Bonjour,

Je travail su VS 2005 en vb.net et SQL.

J'aissais de créer un petit moteur de recherche qui avec plusieurs
mots dans
un textbox me renverrait les données. A peine démarré, j'ai déjà un
problème.

Je voulais faire un split sur ma textbox pour récupérer les différents
mots
et revoyer dans une variable en formatant le texte.

J'avais pensé à quelque chose de ce type.

Dim Format As String
Dim i As Integer
For Each Infos As String In Me.TextBox1.Text.Split(" ")
i = i + 1
Format = " (Nomdelacollone like % + " & Infos & " + %) and "
Next Infos
Dim Select as string = "Select * From mabase Where" & Format

Comme vous pouvez vous doutez ca ne marche pas, j'avou ne pas être
trés bon au niveau de boucle.
Dans mon For Each pour vérifier, j'expédies les données dans un
respose.write c'est ok mais bon je ne veux pas de HTML, je veux les
expédier dans une variable et la le système me renvoi que le dernière
mot.

Quelqu'un pourrait il me mettre sur la voie ou y a t'il un exemple
pour ce type de requête.

En vous remerciant par avance.