Visualizzazione dei risultati da 1 a 6 su 6

Discussione: Update - Datagrid

  1. #1
    Utente di HTML.it L'avatar di xamax
    Registrato dal
    Oct 2001
    Messaggi
    141

    Update - Datagrid

    Salve a tutti, avrei un quesito da sottoporvi.....

    Mi collego a un db per fare un UPDATE da un datagrid , la stringa è la seguente:
    Dim objCmd1 as new OleDbCommand(("UPDATE YFILEURO.DBSAM00F SET DESCRI='prova', COSPDS = 44 where IDNPOS ='")& Ctype(e.Item.Cells(0).Controls(1), Label).Text &("'"), objConn1)
    objConn1.Open
    objCmd1.ExecuteNonQuery()

    In questo caso ho impostato manualmente i valori DESCRI = prova
    e COSPDS = 44 e mi aggiorna perfettamente il record selezionato sul datagrid recuperato dalla stringa
    Ctype(e.Item.Cells(0).Controls(1), Label).Text


    ora il problema è il seguente se uso le stringhe

    (Ctype(e.Item.Cells(1).Controls(0), TextBox)).Text
    non aggiorna proprio nulla... avete qualche suggerimento

    grazie a tutti
    -||> xamax <||-

  2. #2
    Utente di HTML.it
    Registrato dal
    Aug 2001
    Messaggi
    1,482
    90 su 100 è un problema di postback in cui cascano tutti.
    Se non riesci a risolvere, posta un po' di più codice.

    Hey hey, my my Rock and roll can never die!

  3. #3
    Utente di HTML.it L'avatar di xamax
    Registrato dal
    Oct 2001
    Messaggi
    141
    Grazie zampa28, ma non sono riuscito ad arrivare a capo di nulla, posto il codice nella speranza di ricevere qlche suggerimento....
    <%@ Page Language="VB" Debug="true" %>
    <%@ Import Namespace="System.Data" %>
    <%@ Import Namespace="System.Data.OleDb" %>

    <html>
    <script runat="server">

    Public Sub Page_Load(Sender As Object, E As EventArgs)

    dim objConn as new OleDbConnection("Provider=IBMDA400; Data Source=192.168.0.51; User ID=WEBUSR; Password=WODSWEB")

    Dim objCmd as new OleDbDataAdapter (("SELECT * FROM YFILEURO.DBSAM00F "), objConn)
    objConn.open

    Dim ds as DataSet = new DataSet()
    objCmd.Fill(ds, "YFILEURO.DBSAM00F")

    DataGrid1.DataSource=ds.Tables("YFILEURO.DBSAM00F" ).DefaultView
    DataBind()

    objConn.close

    End sub
    sub DataGrid1_Edit(Obj As Object, e As DataGridCommandEventArgs)
    DataGrid1.EditItemIndex = e.Item.ItemIndex
    DataGrid1.DataBind()
    end sub
    sub DataGrid1_Cancel(Obj As Object, e As DataGridCommandEventArgs)
    DataGrid1.EditItemIndex = -1
    DataGrid1.DataBind()
    end sub

    sub DataGrid1_Update(Obj As Object, e As DataGridCommandEventArgs)


    dim objConn1 as new OleDbConnection("Provider=IBMDA400; Data Source=192.168.0.51; User ID=WEBUSR; Password=WODSWEB; ")
    'questa riga viene proprio ignorata
    dim Descr as string =(Ctype(e.Item.Cells(1).Controls(0), TextBox)).Text

    Dim objCmd1 as new OleDbCommand(("UPDATE YFILEURO.DBSAM00F SET DESCRI='") & Descr & ("', COSPDS = 44 where IDNPOS ='")& Ctype(e.Item.Cells(0).Controls(1), Label).Text &("'"), objConn1)
    objConn1.Open
    objCmd1.ExecuteNonQuery()

    ' toglie lo stato di edit
    DataGrid1.EditItemIndex = -1
    DataGrid1.DataBind()
    objConn1.Close
    dim objConn as new OleDbConnection("Provider=IBMDA400; Data Source=192.168.0.51; User ID=USR; Password=pssw)

    Dim objCmd as new OleDbDataAdapter (("SELECT * FROM YFILEURO.DBSAM00F "), objConn)
    objConn.open

    Dim ds as DataSet = new DataSet()
    objCmd.Fill(ds, "YFILEURO.DBSAM00F")

    DataGrid1.DataSource=ds.Tables("YFILEURO.DBSAM00F" ).DefaultView
    DataBind()

    objConn.close
    end sub



    </script>
    <body>
    <form runat="server">
    <asp:datagrid id="DataGrid1" runat="server" BorderColor="#000000" GridLines="Vertical" CellPadding="4" CellSpacing="0" Width="650" Font-Name="Arial" Font-Size="7pt" ShowFooter="true" HeaderStyle-BackColor="#cccc99" FooterStyle-BackColor="#CCCC99" ItemStyle-BackColor="#FFFFFF" AlternatingItemStyle-BackColor="#CCCCCC" AutoGenerateColumns="false" OnEditCommand="DataGrid1_Edit" OnCancelCommand="DataGrid1_Cancel" OnUpdateCommand="Datagrid1_Update" AllowSorting="true" >
    <columns>
    <asp:templatecolumn HeaderText="Pos" >
    <itemtemplate>
    <asp:label ID="Pos" runat="server" Text='<%# Container.DataItem("IDNPOS") %>' />
    </itemtemplate>
    </asp:templatecolumn>
    <asp:boundcolumn HeaderText="Località" DataField="DESCRI" />
    <asp:boundcolumn HeaderText="Costo Sterline" DataField="COSPDS" />
    <asp:boundcolumn HeaderText="COSTO Lire" DataField="COSLIT" />
    <asp:boundcolumn HeaderText="Listino" DataField="LISLIT" />
    <asp:editcommandcolumn EditText="Edita" CancelText="Cancella" UpdateText="Aggiorna" ItemStyle-Wrap="false" HeaderText="Modifica/Cancella"/>

    </columns>
    </asp:datagrid>

    </form></body></html>
    ciao
    -||> xamax <||-

  4. #4
    Utente di HTML.it
    Registrato dal
    Aug 2001
    Messaggi
    1,482
    codice:
    <%@ Page Language="VB" Debug="true" %>
    <%@ Import Namespace="System.Data" %>
    <%@ Import Namespace="System.Data.OleDb" %>
    
    <html>
    <script runat="server">
    
    Public Sub Page_Load(Sender As Object, E As EventArgs)
    
    dim objConn as new OleDbConnection("Provider=IBMDA400; Data Source=192.168.0.51; User ID=WEBUSR; Password=WODSWEB")
    
    Dim objCmd as new OleDbDataAdapter (("SELECT * FROM YFILEURO.DBSAM00F "), objConn) 
    	objConn.open 'Consiglio, Con l'oggetto OleDBDataAdapter non serve aprire la connessione.[/B]
    	 
    Dim ds as DataSet = new DataSet()
    objCmd.Fill(ds, "YFILEURO.DBSAM00F")
    
    DataGrid1.DataSource=ds.Tables("YFILEURO.DBSAM00F").DefaultView
    
    If not page.IsPostBack Then
    DataBind()
    End If
    
    objConn.close 'Cancella pure
    
    End sub
    sub DataGrid1_Edit(Obj As Object, e As DataGridCommandEventArgs)
    DataGrid1.EditItemIndex = e.Item.ItemIndex
    DataGrid1.DataBind()
    end sub
    sub DataGrid1_Cancel(Obj As Object, e As DataGridCommandEventArgs)
    DataGrid1.EditItemIndex = -1
    DataGrid1.DataBind()
    end sub
    
    sub DataGrid1_Update(Obj As Object, e As DataGridCommandEventArgs)
    
    
    	dim objConn1 as new OleDbConnection("Provider=IBMDA400; Data Source=192.168.0.51; User ID=WEBUSR; 	Password=WODSWEB; ")
    'questa riga viene proprio ignorata	
    dim Descr as string =(Ctype(e.Item.Cells(1).Controls(0), TextBox)).Text	
    	
    	Dim objCmd1 as new  OleDbCommand(("UPDATE YFILEURO.DBSAM00F SET DESCRI='") & Descr & ("', COSPDS =  44 where IDNPOS ='")& Ctype(e.Item.Cells(0).Controls(1), Label).Text &("'"), objConn1) 
    	objConn1.Open
    	objCmd1.ExecuteNonQuery() 
    
    ' toglie lo stato di edit 
    DataGrid1.EditItemIndex = -1 
    DataGrid1.DataBind()
    objConn1.Close
    dim objConn as new OleDbConnection("Provider=IBMDA400; Data Source=192.168.0.51; User ID=USR; Password=pssw)
    
    Dim objCmd as new OleDbDataAdapter (("SELECT * FROM YFILEURO.DBSAM00F "), objConn) 
    	objConn.open
    	 
    Dim ds as DataSet = new DataSet()
    objCmd.Fill(ds, "YFILEURO.DBSAM00F")
    
    DataGrid1.DataSource=ds.Tables("YFILEURO.DBSAM00F").DefaultView
    DataGrid1.DataBind()
    
    objConn.close
    end sub
    
    
    
    </script>
     <body>
    <form runat="server">
    <asp:datagrid id="DataGrid1" runat="server" BorderColor="#000000" GridLines="Vertical" CellPadding="4" CellSpacing="0" Width="650" Font-Name="Arial" Font-Size="7pt" ShowFooter="true" HeaderStyle-BackColor="#cccc99" FooterStyle-BackColor="#CCCC99" ItemStyle-BackColor="#FFFFFF" AlternatingItemStyle-BackColor="#CCCCCC" AutoGenerateColumns="false"  OnEditCommand="DataGrid1_Edit" OnCancelCommand="DataGrid1_Cancel" OnUpdateCommand="Datagrid1_Update" AllowSorting="true" >
    <columns>
    <asp:templatecolumn HeaderText="Pos" >
    <itemtemplate>
    <asp:label  ID="Pos" runat="server" Text='<%# Container.DataItem("IDNPOS") %>' />
    </itemtemplate>
    </asp:templatecolumn>
    <asp:boundcolumn HeaderText="Località" DataField="DESCRI" />
    <asp:boundcolumn HeaderText="Costo Sterline" DataField="COSPDS" />
    <asp:boundcolumn HeaderText="COSTO Lire" DataField="COSLIT" />
    <asp:boundcolumn HeaderText="Listino" DataField="LISLIT" />
    <asp:editcommandcolumn EditText="Edita" CancelText="Cancella" UpdateText="Aggiorna" ItemStyle-Wrap="false" HeaderText="Modifica/Cancella"/>
    
    </columns>
    </asp:datagrid>  
      
    </form></body></html>

    Hey hey, my my Rock and roll can never die!

  5. #5
    Utente di HTML.it L'avatar di xamax
    Registrato dal
    Oct 2001
    Messaggi
    141
    X Zampa28

    Funziona!! ma immagino che tu lo sapessi già... che dire....
    grazie!!

    Un ultima curiosità perchè non devo aprire e chiudere la connessione con OleDBDataAdapter, e soprattutto in questo caso non creo problemi al db???

    -||> xamax <||-

  6. #6
    Utente di HTML.it
    Registrato dal
    Aug 2001
    Messaggi
    1,482
    Pendo perche lo fa in automatico.

    Hey hey, my my Rock and roll can never die!

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.