Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 14
  1. #1

    Scegliere Record da una Request.QueryString

    Salve a tutti...
    ho un problema con un paio di pagine in asp.net, c# e MySQL...
    in pratica ho un link dal quale volgio che mi si apra una pagina nella quale ci sono alcuni record presi da una tabella..... ovviamente i record dipendono dal link....

    provo a spiegarmi meglio....
    allora....
    in una tabella vengono visualizzati alcuni dati...
    nel valore di una colonna ho il seguente link:

    <a href='dettaglio.aspx?modello=<%# DataBinder.Eval(Container.DataItem, "modello") %>'>

    mentre invece nella pagina dettaglio c'è il seguente codice:

    query =("SELECT * FROM cpu=" + Request.QueryString["modello"].ToString() );

    solo che indifferentemente dal link che clicco, mi apre sempre il primo della colonna....

    ho provato a inserire nella pagina dettaglio il codice così modificato:

    query =("SELECT * FROM cpu WHERE modello=" + Request.QueryString["modello"].ToString() );


    ma mi da il seguente errore:
    Unknown column 'Q8300' in 'where clause'

    come faccio a risolvere il problema??

  2. #2
    Utente di HTML.it L'avatar di Legnetto
    Registrato dal
    May 2002
    Messaggi
    1,419
    Ciao,
    se la colonna modello come sembra é di tipo char o similari, nella query devi mettere il testo da cercare tra singoli apici.
    Poi se ti fai scrivere a video oppure verifichi in debug la query composta, puoi capire meglio l'errore.
    Legnetto

  3. #3
    Moderatore di ASP.net L'avatar di djciko
    Registrato dal
    Nov 2002
    Messaggi
    6,887
    ..e le prove puoi farle anche senza cliccare nella lista, basta che cambi a mano l'URL della pagina dettaglio e digiti invio

    Metodo poco sicuro, comunque. Considera anche altre soluzioni

  4. #4
    ciao,
    si legnetto hai ragione in effetti la colonna modello è di tipo varchar infatti facendo un paio di modiche cioè inserendo un valore int, mi apre il collegamento correttamente....
    in effetti però a me serve che prenda il valore varchar e no int, altirmenti vista la mole dei modelli ci esco pazzo... onestamente però non ho capito come modificare la query, visto che se metto:

    query =("SELECT * FROM cpu WHERE modello=" + Request.QueryString['modello'].ToString() );

    mi da errore del tipo
    "Troppi caratteri nel valore carattere letterale"

    come facci??

  5. #5
    Utente di HTML.it L'avatar di Franz78
    Registrato dal
    Sep 2004
    Messaggi
    730
    prova cosi:

    query=("SELECT * FROM cpu WHERE modello='" + Request.QueryString["modello"].ToString() + "'");

  6. #6
    Wow...
    grazie mille ora funziona.....
    solo che non mi prende l'immagine cioè.... escono tutti i dati relativi al prodotto, ma tranne l'immagine .... che in pratica è questa nel codice C#:

    img.Src = Request.QueryString["modello"].ToString() + ".gif";

    e in asp.net semplicemente:

    <img id="modello" alt="" />

    perchè i valori mi escono e l'immagine no??

  7. #7
    Utente di HTML.it L'avatar di Legnetto
    Registrato dal
    May 2002
    Messaggi
    1,419
    io vedo dal codice prodotto che l'immagine si chiama modello e non img.
    Devi assegnare il src all'immagine da codice oppure direttmanete nella pagina.
    Se l'immagine è unica come sembra visto che è una maschera di dettaglio, imposti prendendolo dalla querystring, ma usando l'id del controllo che dovrebbe essere "modello".
    Quindi:
    id_immagine.Src = Request.QueryString["modello"].ToString() + ".gif";

    Ciao
    Legnetto

  8. #8
    ciao Legnetto....

    scusa ma non ho capito...
    perchè tu hai riscritto ilcodice che ho scritto io....
    l'immagine non è unica comunque, perchè cambia dal prodotto, infatti dovrebbe cambiare a seconda del modello scelto....

    potresti spiegarti meglio?? di sicuro sono io che non capisco...

    grazie

  9. #9
    Utente di HTML.it L'avatar di Legnetto
    Registrato dal
    May 2002
    Messaggi
    1,419
    tu hai una pagina di dettaglio che riceve dalla querystring l'id della immagine ok?
    Se la situazione è questa, in quella pagina l'immagine non può essere che quella presa dalla querystring.
    Io non capisco cosa hai messo nella pagin.aspx, se hai una immagine, con id="modello" poi da codice devi impostarne le proprietà puntando all'id di quest'ultima.
    Poi se è un controllo asp:image, devi usare l'ImageUrl per impostare l'immagine da mostrare, se è un normale tag immagine con l'attributo runat="server" allora devi usare il "src" come hai fatto da codice.
    Ciao
    Legnetto

  10. #10
    allora la situazione è questa:

    nella pagina dettaglio.aspx ho il seguente codice

    codice:
    <img id="img" runat="server" height="300" alt="" />
    
    
    <div class="style16">Modello:</div>
    <div id="modello" runat="server" />
    e come codice C# il seguente:
    codice:
            query =("SELECT * FROM cpu WHERE modello='" +Request.QueryString["modello"].ToString()+"'");
    
            adapter = new MySqlDataAdapter(query, connection);
            DataSet ds = new DataSet();
            adapter.Fill(ds,"modello");
    
            DataRow dr=ds.Tables[0].Rows[0];
            modello.InnerText = (string)DataBinder.Eval(dr, "[modello]", "{0}");
            img.Src = Request.QueryString["modello"].ToString() + ".gif";
            }
    
            catch (Exception ex)
                {
                    Label1.Text="Errore: "+ex.Message;
                }
    nella sezione modello mi esce il modello corretto, l'immagine invece no...
    cosa sbaglio??

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.