Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 13
  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2004
    Messaggi
    253

    controllo if su campi estratti da un db

    Ciao ragazzi,
    buona giornata a tutti!
    Vi chiedo un aiuto che proprio non mi capacito il motivo per cui non mi risulta.
    Ho un'estrazione di campi dal database, ho fatto un piccolo controllo if
    dove dico che se il campo img è vuoto allora non mostra quel campo, sto provando in mille modi, ma non funziona mi mostra ugualmente l'img ovviamente vuota.

    ecco il controllino che ho fatto

    codice:
            while (rdr.Read())
            {
    
                if (rdr["img"]!="")
                {
    
                    NewsId.InnerHtml+="<table border=0>";
                    NewsId.InnerHtml += "<tr><td>" + rdr["titolo"] + "</td></tr>";
                    NewsId.InnerHtml += "<tr><td style=text-align:justify;>" + rdr["news"] + "</td></tr>";
                    NewsId.InnerHtml += "<tr><td><img src=../imguploade/" + rdr["img"] + "></td></tr>";
                    NewsId.InnerHtml += "</table>";
                    NewsId.InnerHtml += "<hr>";
    
                 }
    
                else
                {
                    NewsId.InnerHtml += "<table border=0>";
                    NewsId.InnerHtml += "<tr><td>" + rdr["titolo"] + "</td></tr>";
                    NewsId.InnerHtml += "<tr><td style=text-align:justify;>" + rdr["news"] + "</td></tr>";
                    NewsId.InnerHtml += "</table>";
                    NewsId.InnerHtml += "<hr>";
    
                }
    
            }
    niente da fare ragazzi è come se non scrivessi il controllo if, secondo voi dov'è l'errore?
    Grazie mille amici!

  2. #2
    Utente di HTML.it L'avatar di mexican
    Registrato dal
    Oct 2001
    residenza
    cava de tirreni
    Messaggi
    3,541

    Re: controllo if su campi estratti da un db

    Originariamente inviato da elisamito
    Ciao ragazzi,
    buona giornata a tutti!
    Vi chiedo un aiuto che proprio non mi capacito il motivo per cui non mi risulta.
    Ho un'estrazione di campi dal database, ho fatto un piccolo controllo if
    dove dico che se il campo img è vuoto allora non mostra quel campo, sto provando in mille modi, ma non funziona mi mostra ugualmente l'img ovviamente vuota.

    ecco il controllino che ho fatto

    codice:
            while (rdr.Read())
            {
    
                if (rdr["img"]!="")
                {
    
                    NewsId.InnerHtml+="<table border=0>";
                    NewsId.InnerHtml += "<tr><td>" + rdr["titolo"] + "</td></tr>";
                    NewsId.InnerHtml += "<tr><td style=text-align:justify;>" + rdr["news"] + "</td></tr>";
                    NewsId.InnerHtml += "<tr><td><img src=../imguploade/" + rdr["img"] + "></td></tr>";
                    NewsId.InnerHtml += "</table>";
                    NewsId.InnerHtml += "<hr>";
    
                 }
    
                else
                {
                    NewsId.InnerHtml += "<table border=0>";
                    NewsId.InnerHtml += "<tr><td>" + rdr["titolo"] + "</td></tr>";
                    NewsId.InnerHtml += "<tr><td style=text-align:justify;>" + rdr["news"] + "</td></tr>";
                    NewsId.InnerHtml += "</table>";
                    NewsId.InnerHtml += "<hr>";
    
                }
    
            }
    niente da fare ragazzi è come se non scrivessi il controllo if, secondo voi dov'è l'errore?
    Grazie mille amici!
    hai provato a fare un response write del campo img? per vedere se realmente è vuoto.

  3. #3
    Moderatore di ASP.net L'avatar di djciko
    Registrato dal
    Nov 2002
    Messaggi
    6,887
    ...ed hai provato a svuotare la cache, e poi dopo questa formalita' andare in debug e vedere perche' entra nella if sempre e comunque ?

  4. #4
    Utente di HTML.it
    Registrato dal
    Oct 2004
    Messaggi
    253
    Ciao ragazzi,
    effettuo le prove che mi avate detto, ma sintaticamente è tutto corretto vero?

  5. #5
    Moderatore di ASP.net L'avatar di djciko
    Registrato dal
    Nov 2002
    Messaggi
    6,887
    Originariamente inviato da elisamito
    Ciao ragazzi,
    effettuo le prove che mi avate detto, ma sintaticamente è tutto corretto vero?
    beh mi sembra di si, anche se io avrei utilizzato una tabella scolpita nell'html con un placeholder, e poi un <asp:image> in cui valorizzare l'immagine sorgente (ImageUrl) se il campo e' vuoto o meno.

    Cmq prova il debug e vedi cosa contiene il campo del Reader.

  6. #6
    Utente di HTML.it
    Registrato dal
    Oct 2004
    Messaggi
    253
    niente da fare ragazzi, ho svuotato la chache memory, ho provato a fare un controllo solo sul campo vuoto ma non mi estrae niente....

    Djciko, mi piacerebbe fare la versione che hai detto tu senza innerhtml, avresti tempo di insegnarmi?
    grazie mille!

  7. #7
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    Guarda questo esempio
    codice:
    <%@ Page Language="VB" %>
    <%@ Import Namespace="l=libreria.ModuloWeb" %>
    
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    
    <script runat="server">
    
        Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs)
            Dim sb As New StringBuilder()
            Using reader As OleDbDataReader = msole.GetDataReader(gl.StringaConnessioneTest, "select immagine from campi")
                Do While (reader.Read)
                    Dim o As Object = reader("immagine")
                    If o IsNot DBNull.Value Then
                        sb.Append(String.Format("[img][/img]
    
    ", o.ToString))
                    Else
                        sb.Append(String.Format("<div>Nessuna immagine</div>
    "))
                    End If
                Loop
                
            End Using
            Me.Literal1.Text=sb.ToString
        End Sub
    </script>
    
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head runat="server">
        <title></title>
    </head>
    <body>
        <form id="form1" runat="server">
        <div>
            <asp:Literal ID="Literal1" runat="server" EnableViewState="false"></asp:Literal>
        </div>
        </form>
    </body>
    </html>
    Pietro

  8. #8
    Utente di HTML.it
    Registrato dal
    Oct 2004
    Messaggi
    253
    ciao Pietro!
    grazie lo provo!
    Posso utilizzarlo anche per c#?
    Perchè io uso c#...

  9. #9
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    Originariamente inviato da elisamito
    ciao Pietro!
    grazie lo provo!
    Posso utilizzarlo anche per c#?
    Perchè io uso c#...

    Guarda come è fatto e la parte che ti interessa la traduci

    Pietro

  10. #10
    Al netto dell'utilizzo di un placeholder (un Literal per esempio) o meglio una gridview, per rispondere alla tua domanda è necessario sapere cosa intendi per campo vuoto. Ci sono due possibilità:
    • Il campo ha un valore nullo
    • Il campo contiene spazi


    Tornando al tuo codice originale
    if (rdr["img"]!="")

    dovresti provare con
    if (Strings.Trim(rdr["img"])!="")
    se il campo è vuoto ma contiente spazi oppure

    if (!object.ReferenceEquals(rdr["img"], DBNull.Value))
    se il campo contiene NULL
    http://www.softgens.com

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 © 2025 vBulletin Solutions, Inc. All rights reserved.