Paramètre SQL

hdunoyer Messages postés 29 Date d'inscription jeudi 23 février 2006 Statut Membre Dernière intervention 20 juillet 2006 - 18 juil. 2006 à 21:44
hdunoyer Messages postés 29 Date d'inscription jeudi 23 février 2006 Statut Membre Dernière intervention 20 juillet 2006 - 20 juil. 2006 à 23:11
Bonsoir,

Je gère une Galerie de Photos.

Ma page principale récapitule les différents thèmes photographiques avec une photo pour chaque theme

En cliquant sur un theme je vais vers une page avec les miniatures des photos du thème concerné en récupérant dans l'URL l' Id par le code :

Public

Sub Page_Load(
ByVal sender
As
Object,
ByVal e
As EventArgs)

Dim test
As
Integer

Dim sql_string
As
String

test = Request.QueryString(

"theme")

End
SubJe souhaite faire une reqête SQL sur ma base MySQL et récupérer les champs concernant.le thème choisi.

Comment faire.

Mercid'avance

29 réponses

apacheswiss Messages postés 154 Date d'inscription mercredi 13 octobre 2004 Statut Membre Dernière intervention 22 août 2007
18 juil. 2006 à 23:07
difficile de répondre à ta question...
c'est quoi le problème:
- la connection à la base
- la requête à faire (avec le shéma de la table c'est plus facile)
- autre chose..
0
hdunoyer Messages postés 29 Date d'inscription jeudi 23 février 2006 Statut Membre Dernière intervention 20 juillet 2006
18 juil. 2006 à 23:19
Mon problème est de faire la requête Select en mettant en clause where la variable "test"


WHERE photoID = test


 
0
apacheswiss Messages postés 154 Date d'inscription mercredi 13 octobre 2004 Statut Membre Dernière intervention 22 août 2007
18 juil. 2006 à 23:25
sql_string = "SELECT xxxxx FROM yyyy WHERE photoID = " & test

connais pas bien VB...

mais en C# ca donnerais ca:
sql_string "SELECT xxxxx FROM yyyy WHERE photoID " +  test;
0
hdunoyer Messages postés 29 Date d'inscription jeudi 23 février 2006 Statut Membre Dernière intervention 20 juillet 2006
18 juil. 2006 à 23:39
Merci cela a l'air de marcher.

Mon sujet suivant est comment l'intégrer dans une connexion ODBC.

J'ai essayé cela mais cela ne marche pas ??

<

asp:SqlDataSource
ID="SqlDataSource1"
runat="server"
ConnectionString="<%$ ConnectionStrings:ConnectionString %>
"

providerName="<%$ ConnectionStrings:ConnectionString.ProviderName %>
"
SelectCommand
=<%sql_string %>
>

</asp:SqlDataSource>
0

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

Posez votre question
apacheswiss Messages postés 154 Date d'inscription mercredi 13 octobre 2004 Statut Membre Dernière intervention 22 août 2007
18 juil. 2006 à 23:43
tu as le drivers ODBC pour MySQL??
sinon tu peut télécharger celà sur le site de MySQL... (pour ODBC, il faut crée un DNS sur le serveur ou ce trouve ta base, je crois mais ne suis pas sûre)
il existe également une DLL pour faire une Connection du "Type" OleDB.. également disponible sur le site..
0
apacheswiss Messages postés 154 Date d'inscription mercredi 13 octobre 2004 Statut Membre Dernière intervention 22 août 2007
18 juil. 2006 à 23:45
pour les exemples il y as la doc égalemt sur le site...
0
apacheswiss Messages postés 154 Date d'inscription mercredi 13 octobre 2004 Statut Membre Dernière intervention 22 août 2007
18 juil. 2006 à 23:46
pardon... pas DSN... mais DSN... (pour ODBC)
0
apacheswiss Messages postés 154 Date d'inscription mercredi 13 octobre 2004 Statut Membre Dernière intervention 22 août 2007
18 juil. 2006 à 23:47
re..... pas DNS... mais DSN..

Existe-t.il un moyen pour supprimer un post, ou une réponse que l'on à écris?
0
hdunoyer Messages postés 29 Date d'inscription jeudi 23 février 2006 Statut Membre Dernière intervention 20 juillet 2006
18 juil. 2006 à 23:50
Je n'ai pas de problème avec la connexion mais avec le Select.

Si je met dans mon sql_string en dur la valeur 1 cela marche.

Mon problème est un problème de syntaxe  pour "SelectCommand=<%sql_string %>

Voir Code plus haut
0
apacheswiss Messages postés 154 Date d'inscription mercredi 13 octobre 2004 Statut Membre Dernière intervention 22 août 2007
18 juil. 2006 à 23:58
il n'y as pas de différence si tu regarde la string que tu crée avec celle que tu fixe à 1?
si non... je ne vois pas le problème.. si en figeant le where ton code fonctionne, ca devrais fonctionné avec la variable si elle est bien remplie... (avec un integer)
0
hdunoyer Messages postés 29 Date d'inscription jeudi 23 février 2006 Statut Membre Dernière intervention 20 juillet 2006
19 juil. 2006 à 00:04
Le problème c'est de bien la remplir en variable !!!!!!!!!!!!
0
apacheswiss Messages postés 154 Date d'inscription mercredi 13 octobre 2004 Statut Membre Dernière intervention 22 août 2007
19 juil. 2006 à 00:12
je ne comprends pas... dans ton Page_Load
Public Sub Page_Load(
ByVal
sender
As

Object
,
ByVal
e
As
EventArgs) 
   Dim
test
As

Integer
 
   Dim
sql_string
As

String
 
   test = Request.QueryString("theme"
)
End

Sub

ta variable test est remplie???? avec le Theme_ID???
donc tu fais bien ca?

Public Sub
Page_Load(
ByVal
sender
As

Object
,
ByVal
e
As
EventArgs) 
   Dim
test
As

Integer
 
   Dim
sql_string
As

String
 
   test = Request.QueryString("theme"
)    sql_string "SELECT xxxxx FROM yyyy WHERE photoID " & test
End

Sub

la ca ne fonctionne pas

mais
et si tu met

Public Sub
Page_Load(
ByVal
sender
As

Object
,
ByVal
e
As
EventArgs) 
   Dim
test
As

Integer
 
   Dim
sql_string
As

String
 
   test = Request.QueryString("theme"
)    sql_string "SELECT xxxxx FROM yyyy WHERE photoID 1"
End

Sub

la ca marche???
0
hdunoyer Messages postés 29 Date d'inscription jeudi 23 février 2006 Statut Membre Dernière intervention 20 juillet 2006
19 juil. 2006 à 00:19
Pas de PB Le Problème c'est

"

providerName="<%$ ConnectionStrings:ConnectionString.ProviderName %>"SelectCommand=<%sql_string %>
>
0
apacheswiss Messages postés 154 Date d'inscription mercredi 13 octobre 2004 Statut Membre Dernière intervention 22 août 2007
19 juil. 2006 à 00:26
j'ai compris.... mais tu dis:

--   Je n'ai pas de problème avec la connexion mais avec le Select.
--  Si je met dans mon sql_string en dur la valeur 1 cela marche.
--  Mon problème est un problème de syntaxe  pour "SelectCommand=<%sql_string %>
--    Voir Code plus haut

et tu ne change pas "SelectCommand=<%sql_string %> ????
c'et bien ca???

donc si le code suivant ne change pas dans les 2 cas... (avec 1 est avec la variable test)
<sp:SqlDataSourceID="SqlDataSource1"runat="server"ConnectionString="<%$ ConnectionStrings:ConnectionString %>"
providerName="<%$ ConnectionStrings:ConnectionString.ProviderName %>"SelectCommand=<%sql_string %> >

ca ne viens pas de là..
mais le l'affectation de la sql_string  (sql_string  = xxx)

pas le fait de l'assigner a ton SqlDataSource
0
apacheswiss Messages postés 154 Date d'inscription mercredi 13 octobre 2004 Statut Membre Dernière intervention 22 août 2007
19 juil. 2006 à 00:44
sinon tu fais SelectCommand= "SELECT xxx FROM yyyy WHERE PhotosID = @theme"
<SelectParameters
>
      <asp:Parameter
DefaultValue="1"
Name="theme"
Type="Integer"
/>

<SelectParameters>

et dans le code tu fais

Me.SqlDataSource1.SelectParameters(
"theme").DefaultValue = test
0
apacheswiss Messages postés 154 Date d'inscription mercredi 13 octobre 2004 Statut Membre Dernière intervention 22 août 2007
19 juil. 2006 à 00:47
donc ca dois donner ca:



                                          roviderName="<%$ ConnectionStrings:ConnectionString.ProviderName %>"                                           SelectCommandSelectCommand"SELECT xxx FROM yyyy WHERE PhotosID @theme"
 >

<SelectParameters
>
      <asp:Parameter
DefaultValue="1"
Name="theme"
Type="Integer"
/>

<SelectParameters>

</asp:SqlDataSource>
0
hdunoyer Messages postés 29 Date d'inscription jeudi 23 février 2006 Statut Membre Dernière intervention 20 juillet 2006
19 juil. 2006 à 18:27
Bonjour,

Merci pour vos efforts mais j'ai les messages suivants

Erreur 1 Impossible de créer un objet de type 'System.TypeCode' à partir de sa représentation sous forme de chaîne, 'Integer', pour la propriété 'Type'. 

Erreur 5 Validation (ASP.Net) : 'Integer' n'est pas une valeur valide pour cet attribut. 

Que faut il modifier.

Merci par avance

Mon code :

Public
Sub Page_Load(
ByVal sender
As
Object,
ByVal e
As EventArgs)

Dim test
As
Integer

test = Request.QueryString(

"theme")

End
Sub

<

asp:SqlDataSourceID="SqlDataSource1"runat="server"ConnectionString="<%$ ConnectionStrings:ConnectionString %>"
ProviderName

"<%$ ConnectionStrings:ConnectionString.ProviderName %>"SelectCommand"SELECT bddisques.tblphoto.photoId,bddisques.tblphoto.photoRefImage ,bddisques.tblphoto.themeId ,bddisques.tblphoto.photoIndex FROM bddisques.tblphoto FROM bddisques.tblphoto WHERE PhotosID = @theme"> 

<

SelectParameters>

<asp:Parameter
DefaultValue="1"
Name="theme"
Type="Integer"/></

SelectParameters> 

</

asp:SqlDataSource>
0
apacheswiss Messages postés 154 Date d'inscription mercredi 13 octobre 2004 Statut Membre Dernière intervention 22 août 2007
19 juil. 2006 à 19:01
Désolé.... j'ai pensé VB... mais pas .NET

SelectParameters> 

   
</
SelectParameters>

et n'oublie pas dans le Page_load ou ailleures...

Me.SqlDataSource1.SelectParameters("theme"
).DefaultValue = test
0
apacheswiss Messages postés 154 Date d'inscription mercredi 13 octobre 2004 Statut Membre Dernière intervention 22 août 2007
19 juil. 2006 à 19:02
ou Int16 ou Int8... à toi de voir
0
hdunoyer Messages postés 29 Date d'inscription jeudi 23 février 2006 Statut Membre Dernière intervention 20 juillet 2006
19 juil. 2006 à 19:15
Je n'ai plus de message mais je ne récupère rien :

Public

Sub Page_Load(ByVal sender AsObject, ByVal e As EventArgs)
Dim test AsInteger

test = Request.QueryString("theme")

Me.SqlDataSource1.SelectParameters("theme").DefaultValue = test

End Sub

<

asp:contentid="Content1"contentplaceholderid="Main"runat="server"><

asp:SqlDataSourceID="SqlDataSource1"runat="server"ConnectionString="<%$ ConnectionStrings:ConnectionString %>"ProviderName

"<%$ ConnectionStrings:ConnectionString.ProviderName %>"SelectCommand"SELECT bddisques.tblphoto.photoId,bddisques.tblphoto.photoRefImage ,bddisques.tblphoto.themeId ,bddisques.tblphoto.photoIndex FROM bddisques.tblphoto WHERE themeId = @theme"><

SelectParameters>

</

SelectParameters> 

</

asp:SqlDataSource>

<FooterStyleBackColor="#507CD1"Font-Bold="True"ForeColor="White"/>

<SelectedItemStyleBackColor="#D1DDF1"Font-Bold="True"ForeColor="#333333"/>

'>"alt='R‚f‚rence <%# Eval("photoIndex") %>'/></td>

<%# databinder.eval(container.dataitem, "photoId") %>

<HeaderStyleBackColor="#507CD1"Font-Bold="True"ForeColor="White"/>

</

asp:content>
0
Rejoignez-nous