none
Guardar datos de gridview ne base de datos SQL Server RRS feed

  • Pregunta

  • Buen día, podrían ayudarme por favor.

    Tengo un webform en vb.net y necesito hacer dos pasos: 

    1. que el usuario ingrese informacion en textbox y esta aparezca en un gridview

    2. que la informacion del gridview se almacene en la base de datos luego de dar click en el boton Guardar.

    el paso 1 lo tengo solucionado con el siguiente codigo

    Private Sub Form_Load()
    
    	If Not IsPostBack Then
    		'aqui lanzas la consulta
    
    		da.Fill(dt)
    		'dt es el datatable
    
    		GridView1.DataSource = dt
    
    		GridView1.DataBind()
    
    
    		Session("datos") = dt
    	End If
    
    End Sub
    
    
    
    
    Private Sub button1_Click()
    	Dim dt As DataTable = TryCast(Session("datos"), DataTable)
    
    	Dim row As DataRow = dt.NewRow
    
    	row("campo1") = TextBox1.Text
    
    	row("campo2") = TextBox2.Text
    
    	dt.Rows.Add(row)
    
    	GridView1.DataSource = dt
    
    	GridView1.DataBind()
    	Session("datos") = dt
    
    End Sub
    pero como guardo los datos del gridview en la base de datos?


    pabletoreto

    lunes, 20 de junio de 2016 13:56

Respuestas

  • Para grabar en la base de datos, simplemente vuelve a recuperar el "dt" desde el Session (igual que lo haces en button1_click) y luego sálvalo así:

    da.Update(dt)

    Para que eso funcione, hace falta que el "da" esté configurado para lectura y escritura (no basta con solo lectura). Si el dataadapter lo creaste gráficamente desde Visual Studio, normalmente te lo hace de lectura y escritura. Si lo creaste por código usando solo la sentencia Select, entonces puedes usar la clase SqlCommandBuilder para añadirle las sentencias de escritura.

    lunes, 20 de junio de 2016 14:28