Visualizzazione dei risultati da 1 a 7 su 7

Discussione: variabili

  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2002
    Messaggi
    687

    variabili

    Ciao a tutti.

    Io voglio popolare due variabili interrogando un database access.

    Ora purtroppo sono novizio con net e avendo sempre utilizzato ASP 3 non mi trovo molto a mio agio......

    Come faccio a dirgli che nella variabile campo1 voglio il dato contenuto nella colonna nome e nel campo2 il dato contenuto nella colonna cognome?

    Io come vedete sotto ho provato così ma non mi inserisce nessun dato.......

    Grazie a tutti

    <script runat="server">
    sub Page_Load(obj as object, e as EventArgs)
    dim campo1 as string
    dim campo2 as string
    dim myConnection as new OleDbConnection ("Provider=Microsoft.jet.OLEDB.4.0;Data Source="&Request.ServerVariables("APPL_PHYSICAL_PA TH")&"data\test.mdb")
    dim myCommand as new OleDbDataAdapter ("select * from asasa", myConnection)
    dim ds as DataSet = new DataSet()
    myCommand.Fill(ds, "asasa")



    Repeater1.DataSource = ds.Tables("asasa").DefaultView
    campo1=ds.Tables("asasa").Columns("nome")
    campo2=ds.Tables("asasa").Columns("cognome")


    DataBind()

    ecc.....

  2. #2
    Utente di HTML.it
    Registrato dal
    Aug 2003
    Messaggi
    12
    Dim mioreader As SqlClient.SqlDataReader=Me.SqlCommand1.ExecuteRead er

    While mioreader.Read
    'prima colonna
    If mioreader.IsDBNull(0) = False Then
    Me.LabelStato.Text = mioreader.GetString(0)
    End If

    'seconda colonna
    If mioreader.IsDBNull(1) = False Then
    Me.LabelProtocollo.Text = mioreader.GetDecimal(1).ToString
    End If

    end while

    il metodo x leggere cambia a seconda del tipo di dato: string,int,...
    nell'esempio il primo dato è una stringa, il secondo un numero(in sql ve ne sono diversi tipi)
    spero di esserti stato utile
    ciao

  3. #3
    Utente di HTML.it
    Registrato dal
    Jan 2002
    Messaggi
    687
    Intanto grazie per la risposta.

    Ma non mi è molto chiaro:

    il nome delle variabili (io le ho chiamate campo1 e campo2) dove lo devo inserire?

    Ciao

  4. #4
    Utente di HTML.it
    Registrato dal
    Aug 2003
    Messaggi
    12
    scusa, quello era un pezzo del mio codice

    Dim mioreader As SqlClient.SqlDataReader=Me.SqlCommand1.ExecuteRead er

    While mioreader.Read
    'prima colonna
    If mioreader.IsDBNull(0) = False Then
    Campo1 = mioreader.GetString(0) ''se è una stringa
    End If

    'seconda colonna
    If mioreader.IsDBNull(1) = False Then
    campo2 = mioreader.GetDecimal(1).ToString 'se è un decimale
    End If

    end while

  5. #5
    Utente di HTML.it
    Registrato dal
    Jan 2002
    Messaggi
    687
    Ciao

    Allora io ho fatto così:

    sub Page_Load(obj as object, e as EventArgs)
    dim campo1 as string
    dim campo2 as string
    dim myConnection as new OleDbConnection ("Provider=Microsoft.jet.OLEDB.4.0;Data Source="&Request.ServerVariables("APPL_PHYSICAL_PA TH")&"data\test.mdb")


    dim MyCommand as new OledbCommand("select * from asasa" ,MyConnection)
    dim interrogo as OleDbDataReader=myCommand.ExecuteReader()

    interrogo.read()

    campo1 = interrogo.getvalue(1).tostring
    campo2 = interrogo.getvalue(2).tostring


    Session("nome") = campo1
    Session("cognome") = campo2

    response.Redirect("database_a_xml.aspx")
    'response.Redirect("database_a_xml.aspx?nome="&nom e&"&cognome="&cognome&"")


    end sub

    Ma mi dice che lo stato attuale della connessione è closed.

    Dove sbaglio????

    Ciao e grazie

  6. #6
    Utente di HTML.it
    Registrato dal
    Aug 2003
    Messaggi
    12
    ha ragione. prima di eseguire il command devi aprire la connessione.. e quando fisci chiudila.

    dim MyCommand as new OledbCommand("select * from asasa" ,MyConnection)
    MyConnection.open()
    dim interrogo as OleDbDataReader=myCommand.ExecuteReader()
    ...
    MyConnection.Close()

    PS: ho usato la sintassi per richiamare i metodi di sqlClient, ma credo che x altri database i metodi open e close siano uguali.

    PPS: Per motivi vari, errori o casi limite, il commando potrebbe restituire un insieme vuoto di dati. perciò ti conviene usare:
    while interrogo.read()
    ...
    End While

    così se non trova nulla nn va in errore...se poi vuoi gestire gli errori ci sarebbe altro...
    buon lavoro

  7. #7
    Utente di HTML.it
    Registrato dal
    Jan 2002
    Messaggi
    687
    OK!!!!!

    Funziona, ti ringrazi molto.

    Ciao

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.