Accueil > Forum > > > > ajax+basede bonnée+autocomplétion
ajax+basede bonnée+autocomplétion
dimanche 13 mai 2007 à 05:35:48 |
ajax+basede bonnée+autocomplétion

Shany
|
Bonsoir, Dans le cadre d'une application, je souhaiterais réaliser une autocomplétion. J'utilise VS2005, je code en asp.net C# avec ajax en plus. J'ai vu dans ma boite à outils ajax toolkit le control AutoCompleteExtender, c'est celui que je souhaite utiliser avec un web service. Mon problème se trouve au niveau du webservice, je ne sais pas comment l'utiliser pour pouvoir réaliser mon autocomplétion.         Cette autocomplétion est relié à un texbox. (j'ai dejà paramétré le control AutoCompleteExtender pour qu'il puise utilisé le webservice) Quand l'utisateur, entre la première lettre d'un mot par exemple, une liste de choix doit s'afficher (comme pour le google suggest). La liste de choix se trouve dans une base de données type access 2003. Si quelqu'un pouvait m'aider en m'expliquant quoi faire au niveau du webservice ce serait très aimable de sa part.   Merci. 
|
|
lundi 14 mai 2007 à 12:17:20 |
Re : ajax+basede bonnée+autocomplétion

yanis7518
|
Salut shani
voila la structure que tu dois utiliser pour utiliser ton webservice avec le composant autocomplete
using System; using System.Collections.Generic; using System.Web.Services; using System.Data.SqlClient;
[WebService(Namespace = " [ Lien ]")] [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)] [System.Web.Script.Services.ScriptService] public class AutoComplete : WebService { public AutoComplete() { }
[WebMethod] [System.Web.Script.Services.ScriptMethod] public string[] GetCompletionList(string prefixText, int count) { //ton traitement ici } }
ensuite tu n'as plus qu'a paramétrer ton controle de cette manière
<ajaxToolkit:AutoCompleteExtender runat="server" ID="autoComplete1" TargetControlID="TON TEXTBOX" ServicePath="~/AutoComplete.asmx" ServiceMethod="GetCompletionList" MinimumPrefixLength="3" CompletionInterval="1000" EnableCaching="true" CompletionSetCount="12" />
si les résultats de ta requete son important je te conseille de laisser le "MinimumPrefixLength" à 3 sinon met le à 1.
Voila bonne journée 
|
|
lundi 14 mai 2007 à 16:27:04 |
Re : ajax+basede bonnée+autocomplétion
|
lundi 14 mai 2007 à 17:00:48 |
Re : ajax+basede bonnée+autocomplétion

yanis7518
|
désolé j'avais mal compris  donc pour te connecter a ta base Access via OLE voila le code
OleDbConnection connec = new OleDbConnection;
connec.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;UserID=Admin;DataSource=C:\\MaBase.mdb;"; connec.Open();
ensuite tu as juste à executer ta requete
string requete = "SELECT tavalue FROM ..."; OleDbCommand tmpcmd = new OleDbCommand(requette, connect); OleDbDataReader tmpreader = tmpcmd.ExecuteReader(); while(tmpreader.Read()) { console.Writeline(tmpreader.getstring(0)); } tmpreader.close(); connec.close();
voila je pense que la j'ai repondu a ta question (enfin j'espere )
|
|
lundi 14 mai 2007 à 17:25:22 |
Re : ajax+basede bonnée+autocomplétion

yanis7518
|
a la place du console.writeline tu stock tes valeurs dans un tableaux de string
|
|
lundi 14 mai 2007 à 20:03:50 |
Re : ajax+basede bonnée+autocomplétion

Shany
|
Re Yanis, j'ai testé ton code mais ca ne fonctionne pas. Quand tu me dis de stock mes valeurs dans un tableau de string, c'est-à-dire !?
voici le code que j'ai tapé. J'avais tester avec le console.writeLine mais ca ne donnait rien.
using System; using System.Web; using System.Collections; using System.Web.Services; using System.Web.Services.Protocols; using System.Data; using System.Data.OleDb;
/// <summary> /// Description résumée de autocomprs /// </summary> [WebService(Namespace = " [ Lien ]")] [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)] public class autocomprs : System.Web.Services.WebService {
public autocomprs () {
//Supprimez les marques de commentaire dans la ligne suivante si vous utilisez des composants conçus //InitializeComponent(); }
[WebMethod] public string[] AutoSuggest(string prefixText, int count) {
OleDbConnection connec = new OleDbConnection();
connec.ConnectionString = "Provider=Microsoft.JET.OLEDB.4.0;DataSource=base.mdb;";
connec.Open();
string requete = "SELECT Nom FROM base where Nom LIKE 'prefixText' ORDER BY Nom";
OleDbCommand tmpcmd = new OleDbCommand(requete, connec);
OleDbDataReader adaption = tmpcmd.ExecuteReader();
while(adaption.Read()) {
Console.WriteLine(adaption.GetString(0));
}
adaption.Close(); connec.Close();
}
}
Si tu pouvais m'expliquer plus en détail l'utilisation du tableau de string ce serait très sympa. Merci.
|
|
mardi 15 mai 2007 à 09:34:57 |
Re : ajax+basede bonnée+autocomplétion

yanis7518
|
tu as une erreur au niveau de cette ligne
string requete = "SELECT Nom FROM base where Nom LIKE 'prefixText' ORDER BY Nom";
tu dois rajouter le % pour lui indiquer qu'il doit te retourner tous les mots commençant par ton préfixe et tu obtiens :
string requete = "SELECT Nom FROM base where Nom LIKE 'prefixText%' ORDER BY Nom";
|
|
mardi 15 mai 2007 à 19:39:16 |
Re : ajax+basede bonnée+autocomplétion

Shany
|
Re salut Yanis, J'ai corrigé l'erreur que j'avais néanmoins lorsque je lance l'application une erreur m'est retournée :
Erreur 1 'autocomprs.AutoSuggest(string, int)' : tous les chemins de code ne retournent pas nécessairement une valeur.
voici le code corriger, si tu arrive à trouver où se trouve l'erreur ... moi je pense que c'est au niveau des arguments déclarer dans la méthode utilisée !? :
using System; using System.Web; using System.Collections; using System.Web.Services; using System.Web.Services.Protocols; using System.Data; using System.Data.OleDb;
/// <summary> /// Description résumée de autocomprs /// </summary> [WebService(Namespace = " [ Lien ]")] [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)] public class autocomprs : System.Web.Services.WebService {
public autocomprs () {
//Supprimez les marques de commentaire dans la ligne suivante si vous utilisez des composants conçus //InitializeComponent(); }
[WebMethod] public string[] AutoSuggest(string prefixText, int count) {
OleDbConnection connec = new OleDbConnection();
connec.ConnectionString = "Provider=Microsoft.JET.OLEDB.4.0;DataSource=base.mdb;";
connec.Open();
string requete = "SELECT Nom FROM base where Nom LIKE 'prefixText%' ORDER BY Nom";
OleDbCommand tmpcmd = new OleDbCommand(requete, connec);
OleDbDataReader adaption = tmpcmd.ExecuteReader();
while(adaption.Read()) {
Console.WriteLine(adaption.GetString(0));
}
adaption.Close(); connec.Close();
}
}
Merci encore pour l'aide que tu m'apporte.
|
|
mardi 15 mai 2007 à 19:39:28 |
Re : ajax+basede bonnée+autocomplétion

Shany
|
Re salut Yanis, J'ai corrigé l'erreur que j'avais néanmoins lorsque je lance l'application une erreur m'est retournée :
Erreur 1 'autocomprs.AutoSuggest(string, int)' : tous les chemins de code ne retournent pas nécessairement une valeur.
voici le code corriger, si tu arrive à trouver où se trouve l'erreur ... moi je pense que c'est au niveau des arguments déclarer dans la méthode utilisée !? :
using System; using System.Web; using System.Collections; using System.Web.Services; using System.Web.Services.Protocols; using System.Data; using System.Data.OleDb;
/// <summary> /// Description résumée de autocomprs /// </summary> [WebService(Namespace = " [ Lien ]")] [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)] public class autocomprs : System.Web.Services.WebService {
public autocomprs () {
//Supprimez les marques de commentaire dans la ligne suivante si vous utilisez des composants conçus //InitializeComponent(); }
[WebMethod] public string[] AutoSuggest(string prefixText, int count) {
OleDbConnection connec = new OleDbConnection();
connec.ConnectionString = "Provider=Microsoft.JET.OLEDB.4.0;DataSource=base.mdb;";
connec.Open();
string requete = "SELECT Nom FROM base where Nom LIKE 'prefixText%' ORDER BY Nom";
OleDbCommand tmpcmd = new OleDbCommand(requete, connec);
OleDbDataReader adaption = tmpcmd.ExecuteReader();
while(adaption.Read()) {
Console.WriteLine(adaption.GetString(0));
}
adaption.Close(); connec.Close();
}
}
Merci encore pour l'aide que tu m'apporte.
|
|
mardi 15 mai 2007 à 19:39:31 |
Re : ajax+basede bonnée+autocomplétion

Shany
|
Re salut Yanis, J'ai corrigé l'erreur que j'avais néanmoins lorsque je lance l'application une erreur m'est retournée :
Erreur 1 'autocomprs.AutoSuggest(string, int)' : tous les chemins de code ne retournent pas nécessairement une valeur.
voici le code corriger, si tu arrive à trouver où se trouve l'erreur ... moi je pense que c'est au niveau des arguments déclarer dans la méthode utilisée !? :
using System; using System.Web; using System.Collections; using System.Web.Services; using System.Web.Services.Protocols; using System.Data; using System.Data.OleDb;
/// <summary> /// Description résumée de autocomprs /// </summary> [WebService(Namespace = " [ Lien ]")] [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)] public class autocomprs : System.Web.Services.WebService {
public autocomprs () {
//Supprimez les marques de commentaire dans la ligne suivante si vous utilisez des composants conçus //InitializeComponent(); }
[WebMethod] public string[] AutoSuggest(string prefixText, int count) {
OleDbConnection connec = new OleDbConnection();
connec.ConnectionString = "Provider=Microsoft.JET.OLEDB.4.0;DataSource=base.mdb;";
connec.Open();
string requete = "SELECT Nom FROM base where Nom LIKE 'prefixText%' ORDER BY Nom";
OleDbCommand tmpcmd = new OleDbCommand(requete, connec);
OleDbDataReader adaption = tmpcmd.ExecuteReader();
while(adaption.Read()) {
Console.WriteLine(adaption.GetString(0));
}
adaption.Close(); connec.Close();
}
}
Merci encore pour l'aide que tu m'apporte.
|
|
Cette discussion est classée dans : ajax, webservice, autocomplétion, basede, bonnée
Répondre à ce message
Sujets en rapport avec ce message
Comment éviter que l'autocomplétion native de Firefox ou IE passe devant un contrôle d'autocomplétion Ajax? [ par Nixar ]
Bonjour à tous,Pour mon site j'ai implémenté un contrôle "AutoComplete" de l'AjaxControlToolkit. Tout fonctionne correctement à ceci près que j'ai par
Mettre un site Ajax en production [ par lelynx ]
Salut, J'ai une application Ajax développée avec VS2008. Elle est composée d'une page aspx dans laquelle se trouve le code js. La partie communicatio
ajax toolkit autocompletion [ par rymouche ]
Bonjour,Je développe en C# sur VS 2005Je souhaiterais inclure plusieurs textbox sur lesquels la même autocomplétion sera faite. J'ai un composant ascx
Comment atteindre les controles de la page aspx dans une Ajax.Method? [ par obitskater ]
Bonjour tout le monde, Voilà, je vous expose mon petit soucis: Dans mon code-behind C# de ma page aspx, j'ai une methode AjaxPro que je peux appeler
Gros soucis Serveur [ par kyle ]
Bonjour,Voilà j'ai un gros problème depuis quelques jours, je ne trouve pas de raison ni encore moins de solutions :J'ai un serveur 2003, une applicat
Ajax UpdatePanel - récupération des évéenemnts [ par SpanK ]
Bonjour,J'utilise une application ASP.NET avec AJAX et notament le UpdatePanel.J'ai un timer qui permet la mise à jour de l'updatepanel toutes les 10
appel webservice me renvoyant Null [ par neril82 ]
Je m'arrache les cheveux !! Je paie une bière virtuelle a celui qui trouve une explication... J'ai un webservice en php avec les lib nusoap, un webse
Utilisation d'un WebService dans un projet [ par Jojo092 ]
Bonjour tout le monde,voilà je suis un petit débutant en WebServices et j'ai un petit problème d'utilisation. J'ai en fait une solution qui comprend 3
AJAX et boutons dynamiques [ par Gastaropod ]
Bon, j'ai un soucis assez déroutant.Pour mieux me faire comprendre, je vais expliquer le cheminement que parcoure mon appli afin que ce soit plus expl
Conflits Ajax et WebControl [ par ofonadroite ]
Voila mon problème : L'utilisateur fait une recherche qui, une foit lancee, affiche le résultat dans un gridview lui-même intégré dans un accord
Livres en rapport
|
Derniers Blogs
XNA IS DEAD!XNA IS DEAD! par richardc
Depuis la semaine dernière (et grâce aux TechDays 2012), je me penche activement sur la nouvelle version de Windows, aka Windows 8. Vous me direz, il était temps puisque la première preview date de Septembre dernier.
OK. Remarquez, on n'en est qu'aux...
Cliquez pour lire la suite de l'article par richardc TECHDAYS PARIS 2012 : WINDOWS SERVER "8" QUOI DE 9 !TECHDAYS PARIS 2012 : WINDOWS SERVER "8" QUOI DE 9 ! par ROMELARD Fabrice
Speakers: Fabrice Meillon et Stanislas Quastana Cette session est basée entièrement sur celle donnée lors de la BUILD cet hiver. Il n'y a pas d'ajout d'information en rapport avec cet évènement passé. Windows 8 Server sera intégralem...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice [HTML5] AUTOUR DU W3C : NOUVEAUX STANDARDS ET WEB MOBILE (LILLE)[HTML5] AUTOUR DU W3C : NOUVEAUX STANDARDS ET WEB MOBILE (LILLE) par Gio
Je m'y prends un peu tard je sais, mais bon je suis développeur web et donc hyper fainéant ! Toujours dans le cadre des technologies émergentes, ici HTML5, parce qu'on aime HTML5 chez Wyg , nous seront présent, le vieux ( Aurélien V.) et moi, pour pr...
Cliquez pour lire la suite de l'article par Gio [WP7] DYNAMICALLY CHANGE STARTUP PAGE[WP7] DYNAMICALLY CHANGE STARTUP PAGE par KooKiz
Let's say that you want to allow the user to customize the startup page of your application. You can easily change the startup page by editing the 'NavigationPage' attribute in the manifest file. But the manifest cannot be modified once the applicatio...
Cliquez pour lire la suite de l'article par KooKiz
Forum
RE : FORMULAIRERE : FORMULAIRE par ap24dp
Cliquez pour lire la suite par ap24dp RE : FORMULAIRERE : FORMULAIRE par jopop
Cliquez pour lire la suite par jopop RE : FORMULAIRERE : FORMULAIRE par ap24dp
Cliquez pour lire la suite par ap24dp RE : FORMULAIRERE : FORMULAIRE par jopop
Cliquez pour lire la suite par jopop
Logiciels
DocTranslate (V3.1.0.0)DOCTRANSLATE (V3.1.0.0)DocTranslate est un traducteur de document Microsoft Word, PowerPoint et Excel. Il permet d'autom... Cliquez pour télécharger DocTranslate Tribler (2012)TRIBLER (2012)Tribler est un client pair à pair (P2P/Peer-to-Peer) open source avec la capacité de regarder des... Cliquez pour télécharger Tribler OneSwarm (2012)ONESWARM (2012)Le peer-to-peer qui protège votre vie privée, c'est OneSwarm.
Ce logiciel de peer-to-peer crypté... Cliquez pour télécharger OneSwarm PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA TV DEVIENS HELLLOOO FLASH
LA TV SUR VOTRE ORDINATEUR.
Toute une plateforme Multi... Cliquez pour télécharger PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO Academy System (17.2.1.0)ACADEMY SYSTEM (17.2.1.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System
|