Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 29
  1. #1
    Utente di HTML.it L'avatar di dwb
    Registrato dal
    Mar 2001
    residenza
    My IDE! :)
    Messaggi
    2,908

    [ASP.NET C#]Lettura dati da db, problema.

    Ho questo codice:

    codice:
    <%@ Page Language="C#" AutoEventWireup="true"  CodeFile="Default.aspx.cs" Inherits="_Default" %>
    <%@ Import Namespace = "System.Data"%>
    <%@ Import Namespace = "System.Data.OleDb" %>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    
    <html xmlns="http://www.w3.org/1999/xhtml" >
    
    <script language="c#" runat="server">
        void Load_Page(object Object, EventArgs e)
        {
            string Scn = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" + Server.MapPath("Clienti.mdb");
            OleDbConnection cnn = new OleDbConnection(Scn);
            cnn.Open();
            OleDbCommand cmd = new OleDbCommand("select * from Categories", cnn);
            OleDbDataReader res = cmd.ExecuteReader();
            while (res.Read())
            {
                Response.Write(res["GENERI"]);
                res.Close();
                cnn.Close();
            }
            
    
        }
       
    </script>
    
    <body>
    
        <form id="form1" runat="server">
        <div style="text-align: center">
            Benvenuti nel miglior negozio di DVD Italiano!<table style="width: 353px; height: 176px">
                    <tr>
                        <td>
                        
                        </td>
                        <td>
                        </td>
                        <td>
                        </td>
                    </tr>
                    <tr>
                        <td>
                        </td>
                        <td>
                        </td>
                        <td>
                        </td>
                    </tr>
                    <tr>
                        <td>
                        </td>
                        <td>
                        </td>
                        <td>
                        </td>
                    </tr>
                </table>
            
            
    
            
    
            <span style="font-size: 24pt">Ecco i principali generi presenti
    
                
    
            
            </span>
        
        </div>
        </form>
    </body>
    </html>
    Dovrebbe stamparmi a video i generi presenti nel db, ma non compare nulla, solo i testi in HTML!!!Dove sbaglio??
    ~Il nome di una variabile deve riflettere il suo scopo e non il suo tipo di dati, NET Framework.

  2. #2
    Forse cosi e' gia un po' meglio:

    OleDbConnection cnn;
    try
    {
    string Scn = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" + Server.MapPath("Clienti.mdb");
    cnn = new OleDbConnection(Scn);
    cnn.Open();
    OleDbCommand cmd = new OleDbCommand("select * from Categories", cnn);
    OleDbDataReader res = cmd.ExecuteReader();
    while (res.Read())
    {
    Response.Write(res["GENERI"]);
    }
    res.Close();
    } catch (Exception ex)
    {
    Response.Write(ex.Message);
    } finally {
    if(cnn != null) cnn.close;
    }
    Saluti a tutti
    Riccardo

  3. #3
    Utente di HTML.it
    Registrato dal
    Oct 2005
    Messaggi
    33
    non funziona perchè chiudi il datareader e la connessione nel ciclo while...

  4. #4
    Utente di HTML.it L'avatar di dwb
    Registrato dal
    Mar 2001
    residenza
    My IDE! :)
    Messaggi
    2,908
    Ok, grazie a tutti!
    Sono all'inizio con C# utilizzato con ASP.NET!
    ~Il nome di una variabile deve riflettere il suo scopo e non il suo tipo di dati, NET Framework.

  5. #5
    Utente di HTML.it L'avatar di dwb
    Registrato dal
    Mar 2001
    residenza
    My IDE! :)
    Messaggi
    2,908
    Tolto il codice per la chiusura, ma il risultato non cambia!!
    Anche con questo non visualizzo nulla!!

    codice:
    <script language="c#" runat="server">
        void Load_Page(object Object, EventArgs e)
        {
            string Scn = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" + Server.MapPath("Clienti.mdb");
            OleDbConnection cnn = new OleDbConnection(Scn);
            cnn.Open();
            OleDbCommand cmd = new OleDbCommand("select * from Categories", cnn);
            OleDbDataReader res = cmd.ExecuteReader();
            while (res.Read())
            {
                Response.Write(res["GENERI"]);
                
            }
            
    
        }
       
    </script>
    ~Il nome di una variabile deve riflettere il suo scopo e non il suo tipo di dati, NET Framework.

  6. #6
    Utente di HTML.it
    Registrato dal
    Oct 2005
    Messaggi
    33
    ma la pagina di output è bianca o ti da qualche errore particolare?

  7. #7
    Utente di HTML.it L'avatar di dwb
    Registrato dal
    Mar 2001
    residenza
    My IDE! :)
    Messaggi
    2,908
    Nessun errore, mi stampa a video solo l'html...
    ovvero "Benvenuto nel sito dedicato ecc..."
    ~Il nome di una variabile deve riflettere il suo scopo e non il suo tipo di dati, NET Framework.

  8. #8
    Utente di HTML.it
    Registrato dal
    Oct 2005
    Messaggi
    33
    mmm...perchè non inserisci questo script in mezzo alla pagina?
    Cioè, crea una pagina vuota e ci piazzi:

    codice:
    <%@ Page Language="C#" AutoEventWireup="true"  CodeFile="Default.aspx.cs" Inherits="_Default" %>
    <%@ Import Namespace = "System.Data"%>
    <%@ Import Namespace = "System.Data.OleDb" %>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    
    <html xmlns="http://www.w3.org/1999/xhtml" >
    <%
    
            string Scn = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" + Server.MapPath("Clienti.mdb");
            OleDbConnection cnn = new OleDbConnection(Scn);
            cnn.Open();
            OleDbCommand cmd = new OleDbCommand("select * from Categories", cnn);
            OleDbDataReader res = cmd.ExecuteReader();
            while (res.Read())
            {
                Response.Write(res["GENERI"]+"
    ");
            }
            
                   res.Close();
                cnn.Close();
    %>
    vedi se così funziona...
    Può darsi che non va perchè l'hai inserito nella sezione head..

  9. #9
    Utente di HTML.it L'avatar di dwb
    Registrato dal
    Mar 2001
    residenza
    My IDE! :)
    Messaggi
    2,908
    Innanzitutto grazie a tutti per le risposte!Stranezze su stranezze:

    ho creato un nuovo progetto, per scongiurare eventuali problemi con l'altro e ora, questo codice funziona:

    codice:
    <%
    
            String Scn = "Provider=Microsoft.Jet.OleDb.4.0; Data Source=" + Server.MapPath("Clienti.mdb");
            OleDbConnection cn = new OleDbConnection(Scn);
            cn.Open();
            OleDbCommand cmd = new OleDbCommand("SELECT * FROM Categories", cn);
            OleDbDataReader res = cmd.ExecuteReader();
    
            while (res.Read())
                Response.Write(res["GENERI"] + "
    ");
        %>

    mentre questo no(pagina bianca senza errori)

    codice:
    void Load_Page(object Object, EventArgs e)
        {
    
            String Scn = "Provider=Microsoft.Jet.OleDb.4.0; Data Source=" + Server.MapPath("Clienti.mdb");
            OleDbConnection cn = new OleDbConnection(Scn);
            cn.Open();
            OleDbCommand cmd = new OleDbCommand("SELECT * FROM Categories", cn);
            OleDbDataReader res = cmd.ExecuteReader();
    
            while (res.Read())
                Response.Write(res["GENERI"] + "
    ");
        }
    Io naturalmente non me ne spiego il motivo!La differenza tra il primo e il secondo blocco è che, nel primo, non utilizzo <script language=C# runat=server> e il void Load_Page(object Object, EventArgs e) e il codice non è racchiuso tra {}.Spero qualcuno chiarirà il mio dubbio, dato che ci sto sbattendo la testa da ieri e non capisco qual'è il problema nel secondo blocco, dato che, e questo è strano, non mi viene fuori il benchè minimo errore ma solo una fastidiosissima pagina bianca!!
    ~Il nome di una variabile deve riflettere il suo scopo e non il suo tipo di dati, NET Framework.

  10. #10
    puoi postare tutto il codice della pagina aspx, grazie
    Saluti a tutti
    Riccardo

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.