begin process at 2010 02 10 04:21:08
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C#

 > 

Base de données

 > 

Oracle

 > 

Récuperation de résultats de requête


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Récuperation de résultats de requête

mercredi 25 juin 2008 à 16:01:35 | Récuperation de résultats de requête

plateau

Bonjour à tous


J'essai de faire un petit moteur de recherche pour une base de donnée,

Je récupère ce qui a été tapé dans le textBox de recherche, je le découpe  et puis avec chaque mot je fais une recherche dans la BD

Mon code est le suivant :

OleDbConnection connection = newOleDbConnection();
connection.ConnectionString = "cnx";

connection.Open();

int
i;

string
searchText;
searchText = txtSearch.Text;
string[] sep_result = searchText.Split(' ');
for
(i=0; i<sep_result.Length;i++)

        {

OleDbDataAdapter da = newOleDbDataAdapter("SELECT * FROM matable WHERE COL1 LIKE '%" + sep_result[i] + "%'", connection);

            DataSet ds = newDataSet();

            da.Fill(ds);

lbltest.Text +=ds.Tables[i].Rows[i].ItemArray[i].ToString() + "<br>";  

      }
connection.Close();

Mon problème c'est que si j'ai plus qu'un mot de taper j'ai l'erreur suivante  : Impossible de trouver la table 1.

Alors en changenat l'indice dans la table est row :

lbltest.Text +=ds.Tables[0].Rows[0].ItemArray[0].ToString() + "<br>"

Ca marche à moitié puisque ca ne me retourne qu'un seul résultat par mot

De l'aide svp car je ne vois pas d'issus    




mercredi 25 juin 2008 à 16:09:10 | Re : Récuperartion de résultats de requête

plateau

Autre précision j'ai essayer avec un cotrole DataList comme suit:

 dList.DataSource = ds.Tables[0].DefaultView;
 dList.DataBind();

le probléme avec ca c'est que ca ne retourne que les résultats du dernier mot taper
samedi 28 juin 2008 à 22:25:22 | Re : Récuperation de résultats de requête

coq

Administrateur CodeS-SourceS
Salut,

Plusieurs remarques :
- renseignes toi sur le problème d'injection et sur le concept de requête paramétrée
- ta façon de batir ta chaine est loin d'etre performante (http://blogs.codes-sources.com/coq/archive/2007/07/28/un-bon-moyen-de-se-souvenir-de-l-ami-stringbuilder.aspx)
- dans ton cas, passer par un DataSet n'a pas de sens
- tu devrais relire la doc de la classe DataTable & co (et celle des autres classes aussi)
- utilises la construction try/catch/finally pour gérer la connexion/déconnexion

Tu devrais passer par OleDbCommand (avec une requête paramétrée) et générer directement ta chaine (avec un StringBuilder) en navigant dans les résultats directement avec l'instance de OleDbDataReader (obtenue via la méthode ExecuteReader d'OleDbCommand).




/*
coq
MVP Visual C#
CoqBlog
*/
jeudi 3 juillet 2008 à 19:46:18 | Re : Récuperation de résultats de requête

plateau

merci pour les conseils, ca va surement m'aider


Cette discussion est classée dans : connection, mot, recherche, ds, searchtext


Répondre à ce message

Sujets en rapport avec ce message

recherche ds bdd [urgent svp] [ par therealcorwin ] bonjour ,je travaille sur une bdd sqlce et je souhaiterais rechercher la presence de deux string (par ex un nom & prenom ) ds ma base et me retourne u probleme de updata d'un datagrid [ par jul00 ] Bijour j'aimerais savoir pourquoi je n'arrive pas à faire mon update là je fais mon affichage dans le datagridpublic void affichage()  {  //DataTabl Dataset et variables [ par T103 ] Bonsoir,Voici mon code :                string requete = "select nom from client where nom = 'toto'";                DataSet ds = new DataSet();       Recherche dans combobox [ par didi2005 ] Bonjour,j'utilise des combobox dans mon application et elle est chargé d'un grand nombre de member je veux faciliter le choix dans la liste déroulante Problème Connection BD [ par maevacmoi ] Hello !J'ai un problème, je n'arrive pas à accéder (en C# depuis un webservice) aux données d'une base de données access, pouvez-vous m'aider ? En fai A la recherche de la méthode perdue [ par Rhend ] Bonsoir,Je recherche une méthode en C# qui me permettrais, dans une chaîne de caractère, d'isoler l'ensemble de caractère comprit entre deux espaces. connection de la base donnée [ par fayrous ] Salut, le code suivant lors de l'éxécution donne une exception private DataTable get_data(string sql) { OleDbConnection co recherche ds 1 string [ par JCpp ] Je voudrai réaliser une recherche dans un stringExemple :String toto1= "abcdefghijklm";Je voudrai rechercher dans toto1 "ghi"Et ci je pouvais avoir la recherche ds une bdd [ par therealcorwin ] SAlut !!!!JE vousdrais tester la presense ,de deux strings recuperees par des combobox, dans une base sqlce !Comment dois je m y prendre svp ;o)Merci Supression de doublon [ par therealcorwin ] Quand j execute cette commande ds une base sqlce :string commande =@"SELECT DISTINCT ON (Marque) FROM Marques ";cela me met " ERROR parsing the query


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,421 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales