Tester valeur des champ d'une bdd et modifier le width d'une balise

Le
Rogério Altman
Bonsoir à tous,

Dans le code que voici j'ai besoin de tester la valeur d'un champ de ma
table sql server mais je n'y arrive pas.
Deux problemes:

1. Comment appeler la valeur des champs en question ( l'opérateur > ne peut
être utilisé dans ce cas)
2. Comment modifier la valeur width de mon asp:image "Image1".

SqlDataAdapter myCommand = new SqlDataAdapter(" SELECT ", myConnection);

// Création du Dataset (sélection des éléments de la bdd)

DataSet DS = new DataSet();
myCommand.Fill(DS, "images");

CODE ASPX.CS

// Et ici je souhaite savoir si moon champ "taille horizontale" est plus
grande que mon champ "taill_verticale".
// Si oui, la valeur width de ma balise asp:image de id="Image1" est égale à
244
// Si non la valeur height de ma balise asp:image de id="Image1" est égale à
244

if ((DS.Tables["zoom_images"].Columns ["taille_horizontale"]) >
(DS.Tables["zoom_images"].Columns ["taille_verticale"]))
{
Image1.Width = "244" // ne marche pas
}
else {
Image1.height = "244" //ne marche pas
}

CODE ASPX

<itemtemplate>
<asp:Image ID="Image1" runat="server" ImageUrl='<%#
DataBinder.Eval(Container.DataItem, "chemin_image") %>'
Width="120px"/</itemtemplate>

Merci de votre aide précieuse,
A+
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Gilles TOURREAU
Le #12183741
Le Thu, 26 Jul 2007 23:54:34 +0200, Rogério Altman
Bonsoir à tous,

Dans le code que voici j'ai besoin de tester la valeur d'un champ de ma
table sql server mais je n'y arrive pas.
Deux problemes:

1. Comment appeler la valeur des champs en question ( l'opérateur > ne
peut
être utilisé dans ce cas)
2. Comment modifier la valeur width de mon asp:image "Image1".

SqlDataAdapter myCommand = new SqlDataAdapter(" SELECT ...",
myConnection);

// Création du Dataset (sélection des éléments de la bdd)

DataSet DS = new DataSet();
myCommand.Fill(DS, "images");

CODE ASPX.CS

// Et ici je souhaite savoir si moon champ "taille horizontale" est plus
grande que mon champ "taill_verticale".
// Si oui, la valeur width de ma balise asp:image de id="Image1" est
égale à
244
// Si non la valeur height de ma balise asp:image de id="Image1" est
égale à
244

if ((DS.Tables["zoom_images"].Columns ["taille_horizontale"]) >
(DS.Tables["zoom_images"].Columns ["taille_verticale"]))
{
Image1.Width = "244" // ne marche pas
}
else {
Image1.height = "244" //ne marche pas
}

CODE ASPX

<itemtemplate>
<asp:Image ID="Image1" runat="server" ImageUrl='<%#
DataBinder.Eval(Container.DataItem, "chemin_image") %>'
Width="120px"/</itemtemplate>

Merci de votre aide précieuse,
A+





Lorsque vous faites DS.Tables["zoom_images"].Columns
["taille_horizontale"] vous retournez quelque chose de type object au
compilateur...
Les objets par défaut ne peuvent pas être comparé entre eux via des
opérateurs "<", ">"... (Une orange est elle supérieure à un chat ????)

Pour forcer à dire au compilateur qu'il faut comparer des entiers (et si
vous êtes sûr que se sont des entiers) il faut les caster...

if ((int)(DS.Tables["zoom_images"].Columns["taille_horizontale"]) >
(int)(DS.Tables["zoom_images"].Columns ["taille_verticale"]))

Cordialement

--
Gilles TOURREAU


S.A.R.L. P.O.S
Le spécialiste en motoculture depuis + de 30 ans !
http://www.pos.fr
Dolten Altgor
Le #12183731
Merci, je regarde cela.
Et par rapport au deuxieme souci, à savoir, comment envoyer a une balise
<asp:image> à l'interieur d'un datalist la valeur de width?
Lorsque l'image est à l'exterieur du datalist, il me suffit d'indiquer l'id
de la balise <asp:image>, comme suit:

id_de_l'image.width = "mavaleur";

Mais dans un datalit cela ne passe pas...

merci encore de votre aide,
A+

"Gilles TOURREAU"
Le Thu, 26 Jul 2007 23:54:34 +0200, Rogério Altman
Bonsoir à tous,

Dans le code que voici j'ai besoin de tester la valeur d'un champ de ma
table sql server mais je n'y arrive pas.
Deux problemes:

1. Comment appeler la valeur des champs en question ( l'opérateur > ne
peut
être utilisé dans ce cas)
2. Comment modifier la valeur width de mon asp:image "Image1".

SqlDataAdapter myCommand = new SqlDataAdapter(" SELECT ...",
myConnection);

// Création du Dataset (sélection des éléments de la bdd)

DataSet DS = new DataSet();
myCommand.Fill(DS, "images");

CODE ASPX.CS

// Et ici je souhaite savoir si moon champ "taille horizontale" est plus
grande que mon champ "taill_verticale".
// Si oui, la valeur width de ma balise asp:image de id="Image1" est
égale à
244
// Si non la valeur height de ma balise asp:image de id="Image1" est
égale à
244

if ((DS.Tables["zoom_images"].Columns ["taille_horizontale"]) >
(DS.Tables["zoom_images"].Columns ["taille_verticale"]))
{
Image1.Width = "244" // ne marche pas
}
else {
Image1.height = "244" //ne marche pas
}

CODE ASPX

<itemtemplate>
<asp:Image ID="Image1" runat="server" ImageUrl='<%#
DataBinder.Eval(Container.DataItem, "chemin_image") %>'
Width="120px"/</itemtemplate>

Merci de votre aide précieuse,
A+





Lorsque vous faites DS.Tables["zoom_images"].Columns
["taille_horizontale"] vous retournez quelque chose de type object au
compilateur...
Les objets par défaut ne peuvent pas être comparé entre eux via des
opérateurs "<", ">"... (Une orange est elle supérieure à un chat ????)

Pour forcer à dire au compilateur qu'il faut comparer des entiers (et si
vous êtes sûr que se sont des entiers) il faut les caster...

if ((int)(DS.Tables["zoom_images"].Columns["taille_horizontale"]) >
(int)(DS.Tables["zoom_images"].Columns ["taille_verticale"]))

Cordialement

--
Gilles TOURREAU


S.A.R.L. P.O.S
Le spécialiste en motoculture depuis + de 30 ans !
http://www.pos.fr


Dolten Altgor
Le #12183721
>
Lorsque vous faites DS.Tables["zoom_images"].Columns
["taille_horizontale"] vous retournez quelque chose de type object au
compilateur...
Les objets par défaut ne peuvent pas être comparé entre eux via des
opérateurs "<", ">"... (Une orange est elle supérieure à un chat ????)

Pour forcer à dire au compilateur qu'il faut comparer des entiers (et si
vous êtes sûr que se sont des entiers) il faut les caster...

if ((int)(DS.Tables["zoom_images"].Columns["taille_horizontale"]) >
(int)(DS.Tables["zoom_images"].Columns ["taille_verticale"]))



En faisant cela, j'ai le message suivant (et sur la bdd il s'agit bien de
champs int):

Erreur 2 Impossible de convertir le type 'System.Data.DataColumn' en 'int'

A+
Gilles TOURREAU
Le #12183711
Le Fri, 27 Jul 2007 11:28:48 +0200, Dolten Altgor

Lorsque vous faites DS.Tables["zoom_images"].Columns
["taille_horizontale"] vous retournez quelque chose de type object au
compilateur...
Les objets par défaut ne peuvent pas être comparé entre eux via des
opérateurs "<", ">"... (Une orange est elle supérieure à un chat ????)

Pour forcer à dire au compilateur qu'il faut comparer des entiers (et si
vous êtes sûr que se sont des entiers) il faut les caster...

if ((int)(DS.Tables["zoom_images"].Columns["taille_horizontale"]) >
(int)(DS.Tables["zoom_images"].Columns ["taille_verticale"]))



En faisant cela, j'ai le message suivant (et sur la bdd il s'agit bien de
champs int):

Erreur 2 Impossible de convertir le type 'System.Data.DataColumn' en
'int'

A+






Excusez-moi, il faut préciser le n° de la ligne :

DS.Tables["zoom_images"].Columns ["taille_verticale"][N° de la ligne]

Cordialement

--
Gilles TOURREAU


S.A.R.L. P.O.S
Le spécialiste en motoculture depuis + de 30 ans !
http://www.pos.fr
Gilles TOURREAU
Le #12183701
Le Fri, 27 Jul 2007 11:23:58 +0200, Dolten Altgor
Merci, je regarde cela.
Et par rapport au deuxieme souci, à savoir, comment envoyer a une balise
<asp:image> à l'interieur d'un datalist la valeur de width?
Lorsque l'image est à l'exterieur du datalist, il me suffit d'indiquer
l'id
de la balise <asp:image>, comme suit:

id_de_l'image.width = "mavaleur";

Mais dans un datalit cela ne passe pas...

merci encore de votre aide,
A+

"Gilles TOURREAU" news:

Le Thu, 26 Jul 2007 23:54:34 +0200, Rogério Altman
Bonsoir à tous,

Dans le code que voici j'ai besoin de tester la valeur d'un champ de ma
table sql server mais je n'y arrive pas.
Deux problemes:

1. Comment appeler la valeur des champs en question ( l'opérateur > ne
peut
être utilisé dans ce cas)
2. Comment modifier la valeur width de mon asp:image "Image1".

SqlDataAdapter myCommand = new SqlDataAdapter(" SELECT ...",
myConnection);

// Création du Dataset (sélection des éléments de la bdd)

DataSet DS = new DataSet();
myCommand.Fill(DS, "images");

CODE ASPX.CS

// Et ici je souhaite savoir si moon champ "taille horizontale" est
plus
grande que mon champ "taill_verticale".
// Si oui, la valeur width de ma balise asp:image de id="Image1" est
égale à
244
// Si non la valeur height de ma balise asp:image de id="Image1" est
égale à
244

if ((DS.Tables["zoom_images"].Columns ["taille_horizontale"]) >
(DS.Tables["zoom_images"].Columns ["taille_verticale"]))
{
Image1.Width = "244" // ne marche pas
}
else {
Image1.height = "244" //ne marche pas
}

CODE ASPX

<itemtemplate>
<asp:Image ID="Image1" runat="server" ImageUrl='<%#
DataBinder.Eval(Container.DataItem, "chemin_image") %>'
Width="120px"/</itemtemplate>

Merci de votre aide précieuse,
A+





Lorsque vous faites DS.Tables["zoom_images"].Columns
["taille_horizontale"] vous retournez quelque chose de type object au
compilateur...
Les objets par défaut ne peuvent pas être comparé entre eux via des
opérateurs "<", ">"... (Une orange est elle supérieure à un chat ????)

Pour forcer à dire au compilateur qu'il faut comparer des entiers (et si
vous êtes sûr que se sont des entiers) il faut les caster...

if ((int)(DS.Tables["zoom_images"].Columns["taille_horizontale"]) >
(int)(DS.Tables["zoom_images"].Columns ["taille_verticale"]))

Cordialement

--
Gilles TOURREAU


S.A.R.L. P.O.S
Le spécialiste en motoculture depuis + de 30 ans !
http://www.pos.fr







Pour utiliser le DataBinding dans un contrôle de type DataList il faut
utiliser les symbôles suivants dans les pages Aspx :

<%# Eval("NomDeLaColonne") %>

Cordialement

--
Gilles TOURREAU


S.A.R.L. P.O.S
Le spécialiste en motoculture depuis + de 30 ans !
http://www.pos.fr
Dolten Altgor
Le #12183691
> Excusez-moi, il faut préciser le n° de la ligne :

DS.Tables["zoom_images"].Columns ["taille_verticale"][N° de la ligne]




euh, maintenant j'ai:
Impossible d'appliquer l'indexation à l'aide de [] à une expression
System.Data.DataColumn

merci
Gilles TOURREAU
Le #12183681
Le Fri, 27 Jul 2007 14:49:31 +0200, Dolten Altgor
Excusez-moi, il faut préciser le n° de la ligne :

DS.Tables["zoom_images"].Columns ["taille_verticale"][N° de la ligne]




euh, maintenant j'ai:
Impossible d'appliquer l'indexation à l'aide de [] à une expression
System.Data.DataColumn

merci





Pouvez-vous publier votre code ?

Cordialement

--
Gilles TOURREAU


S.A.R.L. P.O.S
Le spécialiste en motoculture depuis + de 30 ans !
http://www.pos.fr
Dolten Altgor
Le #12183671
>> euh, maintenant j'ai:
Impossible d'appliquer l'indexation à l'aide de [] à une expression
System.Data.DataColumn



Pouvez-vous publier votre code ?
Cordialement



Gilles TOURREAU





Voici donc:

***********
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Data.SqlClient;
public partial class Default3 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
if (Request.QueryString["st"] != null)
{
Session["valeur"] = Request.QueryString["st"];
Session["id_zoom_liste"] =
((HiddenField)(Page.PreviousPage.FindControl("FormView1").FindControl("HiddenField1"))).Value;
}
SqlConnection myConnection = new SqlConnection("server=localhost;" +
"database=zoom;Trusted_Connection=Yes");

SqlDataAdapter myCommand = new SqlDataAdapter(" SELECT zoom_images.id_image,
zoom_images.id_zoom," +
" zoom_images.sous_theme, zoom_images.nom_image,
zoom_images.taille_horizontale, zoom_images.taille_verticale" +
" zoom_images.chemin_image, zoom_images.date_maj,
zoom_images.id_photographe, zoom_images.numero_zoom," +
" portfolio.dbo.xmltable_temp.title, portfolio.dbo.xmltable_temp.title_fr,
portfolio.dbo.xmltable_temp.title_en " +
" FROM zoom_images INNER JOIN portfolio.dbo.xmltable_temp ON
zoom_images.nom_image = portfolio.dbo.xmltable_temp.filename " +
" WHERE sous_theme = '" + Session["valeur"] + "' AND id_zoom = '" +
Session["id_zoom_liste"] + "' ", myConnection);

// Cr,ation du Dataset (s,lection des ,l,ments de la DB)
DataSet DS = new DataSet();
myCommand.Fill(DS, "images_zoom");
//if ((int)(DS.Tables["zoom_images"].Columns["taille_horizontale"][1]) >
(int)(DS.Tables["zoom_images"].Columns ["taille_verticale"][0])) {
// }
}
}
Gilles TOURREAU
Le #12183661
Le Fri, 27 Jul 2007 16:00:43 +0200, Dolten Altgor
euh, maintenant j'ai:
Impossible d'appliquer l'indexation à l'aide de [] à une expression
System.Data.DataColumn



Pouvez-vous publier votre code ?
Cordialement



Gilles TOURREAU





Voici donc:

***********
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Data.SqlClient;
public partial class Default3 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
if (Request.QueryString["st"] != null)
{
Session["valeur"] = Request.QueryString["st"];
Session["id_zoom_liste"] > ((HiddenField)(Page.PreviousPage.FindControl("FormView1").FindControl("HiddenField1"))).Value;
}
SqlConnection myConnection = new SqlConnection("server=localhost;" +
"database=zoom;Trusted_Connection=Yes");

SqlDataAdapter myCommand = new SqlDataAdapter(" SELECT
zoom_images.id_image,
zoom_images.id_zoom," +
" zoom_images.sous_theme, zoom_images.nom_image,
zoom_images.taille_horizontale, zoom_images.taille_verticale" +
" zoom_images.chemin_image, zoom_images.date_maj,
zoom_images.id_photographe, zoom_images.numero_zoom," +
" portfolio.dbo.xmltable_temp.title,
portfolio.dbo.xmltable_temp.title_fr,
portfolio.dbo.xmltable_temp.title_en " +
" FROM zoom_images INNER JOIN portfolio.dbo.xmltable_temp ON
zoom_images.nom_image = portfolio.dbo.xmltable_temp.filename " +
" WHERE sous_theme = '" + Session["valeur"] + "' AND id_zoom = '" +
Session["id_zoom_liste"] + "' ", myConnection);

// Cr,ation du Dataset (s,lection des ,l,ments de la DB)
DataSet DS = new DataSet();
myCommand.Fill(DS, "images_zoom");
//if ((int)(DS.Tables["zoom_images"].Columns["taille_horizontale"][1]) >
(int)(DS.Tables["zoom_images"].Columns ["taille_verticale"][0])) {
// }
}
}





Excusez moi je n'avais pas vu mais avec les DataTable il faut d'abord
prendre une ligne et ensuite une colonne :

if ((int)(DS.Tables["zoom_images"].Rows[1]["taille_horizontale"]) >
(int)(DS.Tables["zoom_images"].Rows[0]["taille_verticale"]

Cordialement

--
Gilles TOURREAU


S.A.R.L. P.O.S
Le spécialiste en motoculture depuis + de 30 ans !
http://www.pos.fr
Rogério Altman
Le #12128091
Merci, j'essaie cela...

"Gilles TOURREAU"
Le Fri, 27 Jul 2007 16:00:43 +0200, Dolten Altgor écrit:

euh, maintenant j'ai:
Impossible d'appliquer l'indexation à l'aide de [] à une expression
System.Data.DataColumn



Pouvez-vous publier votre code ?
Cordialement



Gilles TOURREAU





Voici donc:

***********
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Data.SqlClient;
public partial class Default3 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
if (Request.QueryString["st"] != null)
{
Session["valeur"] = Request.QueryString["st"];
Session["id_zoom_liste"] >> ((HiddenField)(Page.PreviousPage.FindControl("FormView1").FindControl("HiddenField1"))).Value;
}
SqlConnection myConnection = new SqlConnection("server=localhost;" +
"database=zoom;Trusted_Connection=Yes");

SqlDataAdapter myCommand = new SqlDataAdapter(" SELECT
zoom_images.id_image,
zoom_images.id_zoom," +
" zoom_images.sous_theme, zoom_images.nom_image,
zoom_images.taille_horizontale, zoom_images.taille_verticale" +
" zoom_images.chemin_image, zoom_images.date_maj,
zoom_images.id_photographe, zoom_images.numero_zoom," +
" portfolio.dbo.xmltable_temp.title,
portfolio.dbo.xmltable_temp.title_fr,
portfolio.dbo.xmltable_temp.title_en " +
" FROM zoom_images INNER JOIN portfolio.dbo.xmltable_temp ON
zoom_images.nom_image = portfolio.dbo.xmltable_temp.filename " +
" WHERE sous_theme = '" + Session["valeur"] + "' AND id_zoom = '" +
Session["id_zoom_liste"] + "' ", myConnection);

// Cr,ation du Dataset (s,lection des ,l,ments de la DB)
DataSet DS = new DataSet();
myCommand.Fill(DS, "images_zoom");
//if ((int)(DS.Tables["zoom_images"].Columns["taille_horizontale"][1]) >
(int)(DS.Tables["zoom_images"].Columns ["taille_verticale"][0])) {
// }
}
}





Excusez moi je n'avais pas vu mais avec les DataTable il faut d'abord
prendre une ligne et ensuite une colonne :

if ((int)(DS.Tables["zoom_images"].Rows[1]["taille_horizontale"]) >
(int)(DS.Tables["zoom_images"].Rows[0]["taille_verticale"]

Cordialement

--
Gilles TOURREAU


S.A.R.L. P.O.S
Le spécialiste en motoculture depuis + de 30 ans !
http://www.pos.fr



Publicité
Poster une réponse
Anonyme