Ver Mensaje Individual
  #2 (permalink)  
Antiguo 15/05/2008, 02:05
oag999
 
Fecha de Ingreso: mayo-2008
Mensajes: 2
Antigüedad: 16 años, 9 meses
Puntos: 0
Re: No Guardo VB.NET

Me podrias decir que VB.NET usas?,porque 2002, 2003, 2005 y 2008 son distintos, aunque los dos ultimos sean bastante parecidos.
De todas maneras te envío para VB 2008 Express. El tema es que ahora hay que olvidarse del VB6, porque antes uno generaba un registro y lo guardaba. Ahora, se puede generar nuevo registro, borrar, modificar y recien al final se guarda todo.
Los addnews, los deletes y los updates o modificados se procesan TODOS JUNTOS con 2 pequeñas lineas de programacion. Lo que aqui envío es SOLO UNA MANERA DE HACERLO, veo que hay varias. Va el programa:

'---------------------------------------------------------------------------------------
Imports System.Data
Imports System.Data.SqlClient
Imports System.Data.OleDb
'----------------------------------------
Public Class Form1
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button1.Click
'---------------------------------------
' Generar elementos inciales, llenar el DataGridView1
conlos Datos de Acces para grabar en SQL.
Dim conexionSQL As String
conexionSQL = "Data
Source=.\SQLEXPRESS;AttachDbFilename=C:\Personal\D atos\SueldosArch.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True"

Dim ColumnasDataRow As DataRow 'Creo la columnas para llenar
Dim TablaSQL As DataTable 'creo el DataTable

Dim DataAdapterSQL As SqlClient.SqlDataAdapter 'creo el DataAdapter
Dim SQLConnection As SqlClient.SqlConnection 'creo la conexion
Dim CommandBuilderSQL As SqlClient.SqlCommandBuilder 'creo el command builder
'la conexion
SQLConnection = New SqlClient.SqlConnection(conexionSQL) '
DataAdapterSQL = New
SqlClient.SqlDataAdapter("Select * from Personal",
SQLConnection)
SQLConnection.Open() 'abro la conexion

' Creo uptate, addnew y delete del DataAdapterSQL
(creado mas arriba) con un CommandBuilder
CommandBuilderSQL = New SqlClient.SqlCommandBuilder(DataAdapterSQL)
TablaSQL = New DataTable

'lleno el datatable con los datos necesarios
TablaSQL.Clear()
DataAdapterSQL.Fill(TablaSQL) 'esto debe ir si o si. Despues analizo porque, ya que lo saque de varias partes pero aun no lo he profundizado. Si no esta, da error en las lineas que siguen.

'establezco la clave primaria
Dim IdPersonal(0) As DataColumn
IdPersonal(0) = TablaSQL.Columns(0)
TablaSQL.PrimaryKey = IdPersonal

'vinculo el datagrid con la tabla que corresponde
DataGridView1.DataSource = TablaSQL

'AQUI SE VUELVE PARA AGREGAR MAS DATOS
ColumnasDataRow = TablaSQL.NewRow 'Aviso que va un nuevoRow
ColumnasDataRow("IdPersonal") = midato(0) 'este y text0.text da igual
ColumnasDataRow("NumDoc") = midato(1) 'este y text1.text da igual
ColumnasDataRow("TipoDoc") = midato(2) 'este y text2.text da igual
ColumnasDataRow("Sexo") = midato(3) 'este y text3.text da igual y asi .....
ColumnasDataRow("NumCuil") = midato(4)
ColumnasDataRow("NumCuil1") = midato(5)
ColumnasDataRow("Apellido") = midato(6)
ColumnasDataRow("Nombres") = midato(7)

TablaSQL.Rows.Add(ColumnasDataRow) 'Adiciono los datos a la Tabla
'SI QUIERO CARGAR MAS DATOS VUELVO PARA ATRAS PARA AGREGAR MAS DATOS
'Aqui digo que lleve los datos del DataGridView (mejor dicho DE la Tabla) al archivo FISICO de SQL.
DataAdapterSQL.Update(TablaSQL)
TablaSQL.AcceptChanges()
End Sub
End Class
' ----------fin del programa--------------------------
A mi me funciona de maravillas, espero te funcione.