Requetes SQL ... ?

Résolu
xtrusion Messages postés 51 Date d'inscription mardi 11 janvier 2005 Statut Membre Dernière intervention 20 mai 2006 - 19 janv. 2005 à 10:31
xtrusion Messages postés 51 Date d'inscription mardi 11 janvier 2005 Statut Membre Dernière intervention 20 mai 2006 - 24 janv. 2005 à 10:57
Voila, en gros je dois faire un programme capable de gerer une bibliothèque : Documents, lecteurs, prets ....

La je rencontre un soucis, c ke mes requetes SQL ou il n'y a qu'un select fonctionnent sans probleme.

Cependant, les requetes plus complexes ne fonctionnent pas et joré u besoin d'un pti coup de main a ce propos :


select Nom, Prenom, Adresse, CodePostal, Ville, Mail, Telephone from Lecteur WHERE Document.Titre = recherche;

sachant ke recherche est un champ entré ds une textbox .... En réalité je voudré faire un LIKE plus kun EGAL


select Nom, Prenom, Adresse, CodePostal, Ville, Mail, Telephone from Lecteur WHERE Document.Titre LIKE *recherche*

Quelqu'un c la corriger?

Ensuite il y a celle ci :


select Nom, Prenom, Adresse, CodePostal, Ville, Mail, Telephone, DatePret, DateRetour from Lecteur, Pret where Pret.NumDoc Document.numdoc and where Pret.retour false"



Sachant ke Pret.Retour est un binaire precisant si le livre a été rendu ou non ....

MERCI DAVANCE !! :p

++

X-TruSioN

10 réponses

xtrusion Messages postés 51 Date d'inscription mardi 11 janvier 2005 Statut Membre Dernière intervention 20 mai 2006
24 janv. 2005 à 10:57
Juste si quelqu'un rencontre le meme pb, voila d'ou vené le pb :


select Titre, Public, Support, Thème, Service, Auteur, MaisondEdition, RevuecontenantlArticle, Emplacement, Résumé from Document where (public = " & Chr(34) & cat_public & Chr(34) & "

Pour les guillemets, j'ai apparement été obligé de mettre le code ASCII (34 = ") et maitnenant ca marche ...

Merci a italia et darunia
3
cs_darunia Messages postés 354 Date d'inscription mercredi 18 décembre 2002 Statut Membre Dernière intervention 24 mars 2011 2
19 janv. 2005 à 10:47
Ce qui serait bien c'est que tu nous dise quelles sont les erreurs renvoyées.

Pour la derniere requete l'erreur est que tu met 2 fois where



Il faut faire



select <champ1>, <champ2> from <table> where <champ1=val1> and <champ2=val2> ;



D@runia
0
cs_ITALIA Messages postés 2169 Date d'inscription vendredi 20 avril 2001 Statut Membre Dernière intervention 30 juin 2009 9
19 janv. 2005 à 11:49
Oui il serait trés intérresant que tu nous donne la structure de tes tables ....
C'est à dire le Nom des Champs et leurs type..

et ce que tu veux en retirer..

It@li@
0
xtrusion Messages postés 51 Date d'inscription mardi 11 janvier 2005 Statut Membre Dernière intervention 20 mai 2006
19 janv. 2005 à 11:56
En ce ki concerne l'erreur, c'est :

Une exception non gérée du type 'System.Data.OleDb.OleDbException' s'est produite dans system.data.dll

et la ligne concernée n'est autre ke celle ki appelle la requette :


Adaprecherche.Fill(DtSetrecherche, "Document")

Ms l'erreur vient de l'ecriture de ma requette. En VB.net, c'est koi exactement la forme du where? Personne a un exemple par hazard, avec une condition du type : where <champ1> LIKE *<champ textbox rentré par l'utilisateur*>? En gros, ke la requete retourne toutes les lignes dont le titre contient le mot rentré par l'utilisateur ds la textbox .

Est-ce ke ca ne pourré pa venir des relations établies ds ma BDD ACCESS ? enfin je ne pense pa ms bon .... on c jamais

Et tant ke g kelkin sous la main, c tu commen imprimer facilement un datagrid en klikant sur un bouton? paske g choppé une source sur le site ki permet de le faire, ms je comprends pa la source de la classe impression, il la faite pour imprimer une image et tout et moi j'arrive pa a l'appliker a un datagrid, soit il imprime toute ma form, soit il imprime ... RIEN DU TOUT ! lol

MERCI DAVANCE ! Jcrois kapré, mon logiciel joré interet a le poster sur ce site pr remercier tout le monde car sans ce forum, je ne seré pa allé bien loin !

MERCI ALL !!!
0

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

Posez votre question
cs_darunia Messages postés 354 Date d'inscription mercredi 18 décembre 2002 Statut Membre Dernière intervention 24 mars 2011 2
19 janv. 2005 à 12:21
Tu ne mets pas d'etoile * pour le like ?
Il faut faire Where <champ1> LIKE '%abc%'; (% designe une suite de caractere quelconque)

[mailto:D@runia D@runia]
0
cs_ITALIA Messages postés 2169 Date d'inscription vendredi 20 avril 2001 Statut Membre Dernière intervention 30 juin 2009 9
19 janv. 2005 à 12:31
Pour moi ca marche avec des * * :

Code :
Filtre = "*abc*"
" SELECT * From TaTable WHERE TonChamp LIKE ' " & Filtre & " ' "

[mailto:It@li It@li]@
0
xtrusion Messages postés 51 Date d'inscription mardi 11 janvier 2005 Statut Membre Dernière intervention 20 mai 2006
19 janv. 2005 à 13:25
En gros voici mon code, paske ca marche toujours pa .... donc si vous pouviez y jeter un oeil ... merci les gars !
--------------------------------------------------------------------------------------------

Private
Sub Button1_Click(
ByVal sender
As System.Object,
ByVal e
As System.EventArgs)
Handles Button1.Click



Dim filtre
As
String


filtre = recherche.Text






'declaration du DataSet



Dim DtSetrecherche
As
New DataSet



'declaration du dataAdapter



Dim Adaprecherche
As
New OleDb.OleDbDataAdapter("select Titre, Date, Public, Support, Thème, Service, Auteur, MaisondEdition, DatedePublication, RevuecontenantlArticle, Emplacement, NombredExemplaires, Résumé from Document WHERE Document.Titre LIKE ' %" & filtre & "% ')", Connection)



'rempli le dataset


*******************************************
Adaprecherche.Fill(DtSetrecherche, "Document") * Ca plante sur cette ligne !!!
*******************************************



'remplissage de la liste avec le dataset



Dim Table_recherche
As DataTable


Table_recherche = DtSetrecherche.Tables("Document")


Grid_recherche.DataSource = Table_recherche



End
Sub
-------------------------------------------------------------------------------------------------------------------------------------

En faisant une execution pas a pas, il me met bien la valeur du textbox ds la variable Filtre, ms apré il plante avec toujours le meme rapport d'erreur ....

Et pour l'impression, vous n'avez pa d'idée par hazard? Juste pr imprimer un datagrid ?

Merci davance encore une fois !
0
cs_darunia Messages postés 354 Date d'inscription mercredi 18 décembre 2002 Statut Membre Dernière intervention 24 mars 2011 2
19 janv. 2005 à 17:36
Il nous faut plus d'info sur ton erreur, essaye ça (je sais pas si le code VB.net est nickel !) :

try
{
Adaprecherche.Fill(DtSetrecherche, "Document")
}
catch (OleDbException e)
{
string errorMessages = "";


For i=0 To i < e.Errors.Count
errorMessages += "Index #" + i + vbNewLine +
"Message: " + e.Errors[i].Message + vbNewLine +
"NativeError: " + e.Errors[i].NativeError + vbNewLine +
"Source: " + e.Errors[i].Source + vbNewLine +
"SQLState: " + e.Errors[i].SQLState;
Next

MessageBox.Show errorMessages

[mailto:D@runia D@runia]
0
cs_ITALIA Messages postés 2169 Date d'inscription vendredi 20 avril 2001 Statut Membre Dernière intervention 30 juin 2009 9
20 janv. 2005 à 08:21
Pour imprimer un DataGrid j'ai posté un Source pour imprimer une ListView mais tu peux facilement le modifier pour tes besoins

Sinon pour ton souci essayes la DAO au lieu de l' ADO

It@li@
0
xtrusion Messages postés 51 Date d'inscription mardi 11 janvier 2005 Statut Membre Dernière intervention 20 mai 2006
20 janv. 2005 à 10:18
Ptit souci ITALIA, ta source pr l'impression a été faite en VB6, je bosse sur VB.net ...

Sinon pr la DAO, je v regarder ca merci du conseil !
0
Rejoignez-nous