Ajax et autocomplete

filip24 Messages postés 36 Date d'inscription lundi 26 décembre 2005 Statut Membre Dernière intervention 12 mars 2008 - 13 août 2007 à 14:59
filip24 Messages postés 36 Date d'inscription lundi 26 décembre 2005 Statut Membre Dernière intervention 12 mars 2008 - 14 août 2007 à 10:01
Bonjour.

J'ai un petit soucis avec l'autocomplete d'ajax :

Je souhaite faire un autocomplete avec les control toolkit asp.net...en quand je transpose les exemples du site http://asp.net/ajax/ ecrit en c# pas de soucis l'autocomplete mais mon site est écris en vb donc je code en vb...

alors en vb ça fonctionne pas : voila mon code

le webservice :
Imports

System.Web

Imports System.Web.Services

Imports System.Web.Services.Protocols<WebService(Namespace:=

"http://tempuri.org/")> _
<WebServiceBinding(ConformsTo:=WsiProfiles.BasicProfile1_1)> _
<
Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()> _
Public

Class Autocomplete

Inherits System.Web.Services.WebService

Private
Shared AutoComplete
As
String()<WebMethod()> _

Public
Function GetCompletionList(
ByVal prefixText
As
String,
ByVal count
As
Integer)
As
String()

Dim MyConnection
As Data.OleDb.OleDbConnection

Dim myReader
As Data.OleDb.OleDbDataReader

Dim StrSQL
As
String
myConnection =
New Data.OleDb.OleDbConnection(
"Provider=Microsoft.Jet.OLEDB.4.0; " _
&
"Data Source=" & Server.MapPath(
"base\base.mdb") &
";")
StrSQL =
"Select codalph From PcExo"
myConnection.Open()

Dim mycommand =
New Data.OleDb.OleDbCommand(strSQL, myConnection)
myReader = mycommand.ExecuteReader

Dim i
As
Integer = 0

Dim suggestions
As
String()

While myReader.Read
         suggestions(i) = (myReader.GetValue(0).tostring)

End
While

myReader.close()

Return suggestions

End
FunctionEnd

Class

Si quelqu'un c'est pourquoi ça fonctionne pas merci!

5 réponses

jesusonline Messages postés 6814 Date d'inscription dimanche 15 décembre 2002 Statut Membre Dernière intervention 13 octobre 2010 29
13 août 2007 à 15:55
As tu une erreur ? que se passe t'il exactement ? est-ce que la méthode retourne bien quelque chose

peux tu nous donner le code C# correspondant ? pour qu'on puisse voir l'erreur s'il y a erreur :p

<hr />Cyril - MSP - MCPD ASP.net & MCTS SQL
0
filip24 Messages postés 36 Date d'inscription lundi 26 décembre 2005 Statut Membre Dernière intervention 12 mars 2008 3
13 août 2007 à 17:02
Public



Function
GetCompletionList(

ByVal
prefixText

As



String
,

ByVal
count

As



Integer
)

As



String
()


If
count = 0

Then

   count = 10


End



If






Dim
suggestions

As



New
List(

Of



String
)
D

im
myConnection

As



New
Data.OleDb.OleDbConnection
myConnection =

New
Data.OleDb.OleDbConnection(

"Provider=Microsoft.Jet.OLEDB.4.0; "
_
&

"Data Source="
& Server.MapPath(

"..\base\base.mdb"
) &

";"
)


Dim
myCommand

As
Data.OleDb.OleDbCommand


Dim
strSql

As



String
=

"Select Codalph From PcExo"

myconnection.open()







Dim
MyReader

As
Data.OleDb.OleDbDataReader
MyReader = myCommand.ExecuteReader()



'Do While myReader.Read



'suggestions.Add(prefixText & "abc")

'Loop











For
i

As



Integer
= 0

To
count
suggestions.Add(prefixText &

"abc"
)


Next






MyReader.Close()
myConnection.Close()


Return
suggestions.ToArray


End



Function

Comme ça fonctionne parfaitement....
Si je décommente Do While...Loop et que je commente mon For ça m'affiche rien du du tout et rien ne se passe je n'ai aucun msg d'erreur.

Le code C# était le code utilisé dans les exemples Ajax de Microsoft, je l'ai transposé en vb et ça fonctionne aussi.
0
jesusonline Messages postés 6814 Date d'inscription dimanche 15 décembre 2002 Statut Membre Dernière intervention 13 octobre 2010 29
13 août 2007 à 17:15
Ben ca veut dire que ta requete ne te retourne rien ... met un point d'arret et tu verras que myReader.HasRow te retourne false ... :)

<hr />Cyril - MSP - MCPD ASP.net & MCTS SQL
0
filip24 Messages postés 36 Date d'inscription lundi 26 décembre 2005 Statut Membre Dernière intervention 12 mars 2008 3
13 août 2007 à 19:33
Peut etre...

Mais ce que je comprends c'est que ma requete renvoie bien un resultat sur mon access!

Mais j'essaierai demain et je te tiens informé.

Merci en tout cas
0

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

Posez votre question
filip24 Messages postés 36 Date d'inscription lundi 26 décembre 2005 Statut Membre Dernière intervention 12 mars 2008 3
14 août 2007 à 10:01
Bon j'ai un peu honte...mon chemin de bdd n'était pas bon! désolé!

Maintenant ça retourne bien!

Mais toujours dans le meme soucis...dans mon Autocomplete je fais une requete qui dois récupérer tous les codes de chaque utilisateur.

Cepedant comment indiquer dans ma requete que je veux les codes de cet utilisateur la!

Ma requete actuelle :

StrSQL =

"Select codalph From PcExo Where LEFT(codalph," & nb &
") = '" & prefixText _
&
"' AND exercice = (Select MAX(Exercice) From Pcexo)"

Ma requete désiré:
StrSQL "Select codalph From PcExo Where LEFT(codalph," & nb & ") '" & prefixText _
& "' AND code_adherent="& codeadherent &"  AND exercice = (Select MAX(Exercice) From Pcexo)"

Comment je passe en paramétre la variable codeadherent, qui elle est connu dans la page ou il y a le controle Autocomplete?

Merci
0
Rejoignez-nous