Visualizzazione dei risultati da 1 a 7 su 7
  1. #1

    problema di recupero dati

    codice:
    Dim queryString As String = "Select * From Anagrafica where id = '2';"
    Dim connection As New SqlConnection("Data Source=.\SQLEXPRESS;AttachDbFilename=" & pAssoluto & "\App_Data\" & nomeDb & ";Integrated Security=True;Connect Timeout=30;User Instance=True")
    Dim command As New SqlCommand(queryString, connection)
    connection.Open()
    Dim reader As SqlDataReader = command.ExecuteReader()
    Dim t As New TextBox
    t.Text = reader.GetString("nome")
    Response.Write(t.Text.ToString)
    
    
    
    ---------------------------------------------------------------------------
    Formato della stringa di input non corretto.
    Descrizione: Eccezione non gestita durante l'esecuzione della richiesta Web corrente. Per ulteriori informazioni sull'errore e sul suo punto di origine nel codice, vedere l'analisi dello stack.
    
    Dettagli eccezione: System.FormatException: Formato della stringa di input non corretto.
    Errore nel codice sorgente:
    
    Riga 44:
    Riga 45: Dim t As New TextBox
    Riga 46: t.Text = reader.GetString("nome")
    Riga 47: Response.Write(t.Text)

    Se invece scrivo:
    codice:
    Riga 39: Dim reader As SqlDataReader = command.ExecuteReader()
    Riga 40: Dim t As New TextBox
    Riga 41: t.Text = reader("nome")
    Riga 42: Response.Write(t.Text.ToString)
    mi dice: "Tentativo non valido di lettura in assenza di dati"

  2. #2
    Moderatore di ASP.net L'avatar di djciko
    Registrato dal
    Nov 2002
    Messaggi
    6,887
    La prima cosa da fare è eseguire la query direttamente sul DB per vedere il risultato.

    poi...Non ho mai usato "GetString", ma non vedo la ".Read" per l'SqlDataReader per farlo spostare sul primo record estratto

    codice:
    Dim t As New TextBox
    
    Dim reader As SqlDataReader = command.ExecuteReader()
    If reader.HasRows then
      reader.read()
      t.Text = reader("nome")
      Response.Write(t.Text.ToString)
    End if

  3. #3
    Grazie 1000 !
    Funziona tutto

  4. #4
    Posso approfittare per chiederti un'altra cosa ?
    Vorrei aggiungere una colonna a questo GridView con un pulsante modifica per ogni record che va ad una pagina Modifica.Aspx

    codice:
    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
            Dim queryString As String = "Select * From Anagrafica;" ' Leggo tutte le colonne
            'Dim queryString As String = "Select Nome From Anagrafica;" 'Leggo solo la colonna NOME
            Dim connection As New SqlConnection("Data Source=.\SQLEXPRESS;AttachDbFilename=" & pAssoluto & "\App_Data\" & nomeDb & ";Integrated Security=True;Connect Timeout=30;User Instance=True")
            Dim command As New SqlCommand(queryString, connection)
            connection.Open()
            Dim reader As SqlDataReader = command.ExecuteReader()
            Dim g As New GridView
            g.DataSource = reader
            g.DataBind()
            Me.Page.Form.Controls.Add(g)
            reader.Close()
        End Sub

  5. #5
    Moderatore di ASP.net L'avatar di djciko
    Registrato dal
    Nov 2002
    Messaggi
    6,887
    codice:
            <Columns>
                ..... colonne varie
    
               <asp:CommandField HeaderText="Opzioni"
                    ShowCancelButton="true" 
                    ShowDeleteButton="true" 
                    ShowEditButton="true"  />
            </Columns>
    Il GridView è gia' predisposto per la modifica, aggiungendo questa colonna.
    Il gestore dell'evento è "nomeGrid_RowUpdating" nel caso della modifica...

    Andare in un'altra pagina...è piu' laborioso

  6. #6
    dimenticavo di dirti che vorrei fare il tutto da codice vb...se si può fare
    G

  7. #7
    Moderatore di ASP.net L'avatar di djciko
    Registrato dal
    Nov 2002
    Messaggi
    6,887
    puoi farlo anche con un SqlDataSource

    codice:
    <asp:SqlDataSource 
     ConnectionString="<%$ ConnectionStrings:NomeApplicativo%>" 
     runat="server" 
     ID="sorgentedati" 
     SelectCommand="SELECT ID,campo1,campo2 FROM TABELLA"
     UpdateCommand="UPDATE TABELLA SET [campo1]=@campo1, [campo2]=@campo2 
     WHERE [ID]=@ID">
    </asp:SqlDataSource>
    
    (i campi con "@" devono essere BoundField o DataKeyNames nelle colonne della grid)
    
    ------------------------------------------------------------------
    <asp:GridView 
      DataSourceID="sorgentedati" EditRowStyle-BackColor="#FFFFF0"
      AllowSorting="false" 
      Width="100%" 
      AutoGenerateColumns="false" 
      ID="gv" 
      DataKeyNames="ID" 
      runat="server">
    
    <Columns>
    
    <asp:BoundField DataField="campo1" HeaderText="Campo1" />
    <asp:BoundField DataField="campo2" HeaderText="Campo2" />
    
    <asp:CommandField ButtonType="Image" HeaderText="Opzioni" 
      ShowEditButton="True"  
      EditImageUrl="~/IMG/edit.png" 
      CancelImageUrl="~/IMG/cancel.png" 
      UpdateImageUrl="~/IMG/ok.png"  >
    <ItemStyle HorizontalAlign="Center" />
    </asp:CommandField>
    
    </Columns>
    </asp:GridView>


    .....Oppure come già detto, dall'evento:
    codice:
        Protected Sub gv_RowUpdating(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewUpdateEventArgs) Handles gv.RowUpdating
            Dim riga As GridViewRow = gv.Rows(e.RowIndex)
    
            Dim nuovo_campo1 As String = DirectCast(riga.Cells(0).Controls(0), System.Web.UI.WebControls.TextBox).Text
            Dim nuovo_campo2 As String = DirectCast(riga.Cells(1).Controls(0), System.Web.UI.WebControls.TextBox).Text
    
            '...prendi cosi' i nuovi valori digitati dall'utente e li salvi nel db con una Update
        End Sub
    Ma è un argomento piu' grande di questi semplici esempi, ti consiglio di studiartelo un po' piu' approfonditamente da qualche esempio in rete o manuale.

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.