Usuario
Guardar DataTable en Mysql

Pregunta
-
Buenas Tengo este codigo desarrollado bajo vb.net:
If dgv Is Nothing Then Return Nothing
table = New DataTable
For Each col As DataGridViewColumn In dgv.Columns
Dim column As New DataColumn(col.Name, Type.GetType("System.String"))
table.Columns.Add(column)
Next
For Each viewRows As DataGridViewRow In dgv.Rows
Dim row As DataRow = table.NewRow()
For Each col As DataGridViewColumn In dgv.Columns
Dim value As Object = viewRows.Cells(col.Name).Value
row.Item(col.Name) = If(value Is Nothing, DBNull.Value, value)
Next col
table.Rows.Add(row)
Next viewRows
Return tableel cual me permite agregar los registros y los items que se almacenan en un DatagridView desde otros controles como Textbox, Combobox entre otros, el cual uso de la siguiente manera:
dim table as Datatable = nombredelafuncion(DataGridView1)
mi pregunta es despues de haber almacenado los datos en el datatable que debo hacer para guardar la informacion almacenada alli en una table con el gestor Mysql.
Y como en la parte donde intento aplicar este codigo es en un formulario de compras y pues guardo la orden de compra en una table y los productos pedidos en otra igual seria tambien meter el codigo de esa compra en la tabla donde se almacenan los pedidos.
de ante gracias por la atencion prestada
- Cambiado Enrique M. Montejo lunes, 9 de marzo de 2015 15:31 Pregunta relacionada con el acceso a datos con MySQL.
Todas las respuestas
-
Saludos:
En mi forma de ver, solo necesitas crear el INSERT en la misma function, asi:
Dim MyInsert As String MyInsert = "INSERT INTO MyTable VALUES ('" For Each viewRows As DataGridViewRow In dgv.Rows Dim row As DataRow = table.NewRow() For Each col As DataGridViewColumn In dgv.Columns Dim value As Object = viewRows.Cells(col.Name).Value row.Item(col.Name) = If(value Is Nothing, DBNull.Value, value) ' Aqui actualizas la cadena MyInsert &= row.Item(col.Name).ToString & "', '" Next col table.Rows.Add(row) ' Aqui cierras el Insert MyInsert &= "'); " Next viewRows
Espero ayude.
JOSE LUIS
Dios NO los llamo LAS DIEZ RECOMENDACIONES
-
gracias jose luis por responder pero mira como realizo las inserciones me podrias ee desmenusar tu codigo por favor para entenderlo y pues adaptarlo. gracias
Strsql = "insert into taimpuestos (idtaimpuestos,tanombre,tadescripcion,taestado) VALUES ('" + Tcodigo.Text + "','" + Tnombre.Text + "','" + Tdescripcion.Text + "','" + estado + "')"
cnn.Open()
If Procesar(Strsql) = True Then
MsgBox("El impuesto sea registrado exitosamente mente en el sistema", MsgBoxStyle.Information, "Operación Exitosa")
Codigo EliminaTab
Public Function Procesar(Sql As String) As Boolean
Dim functionReturnValue As Boolean = False
Dim myCommand As New MySqlCommand()
functionReturnValue = True
Try
myCommand.Connection = cnn
myCommand.CommandText = Sql
myCommand.ExecuteNonQuery()
Catch myerror As MySqlException
functionReturnValue = False
End Try
Return functionReturnValue
End Function -
Saludos:
En mi forma de ver, solo necesitas crear el INSERT en la misma function, asi:
Dim MyInsert As String MyInsert = "INSERT INTO MyTable VALUES ('" For Each viewRows As DataGridViewRow In dgv.Rows Dim row As DataRow = table.NewRow() For Each col As DataGridViewColumn In dgv.Columns Dim value As Object = viewRows.Cells(col.Name).Value row.Item(col.Name) = If(value Is Nothing, DBNull.Value, value) ' Aqui actualizas la cadena MyInsert &= row.Item(col.Name).ToString & "', '" Next col table.Rows.Add(row) ' Aqui cierras el Insert MyInsert &= "'); " Next viewRows
Espero ayude.
JOSE LUIS
Dios NO los llamo LAS DIEZ RECOMENDACIONES
-
Saludos:
1) La function procesar esta mal, colocas en TRUE el return ANTES de hacer algo. Deberia ser asi:
Public Function Procesar(Sql As String) As Boolean Dim functionReturnValue As Boolean = False Dim myCommand As New MySqlCommand() Try myCommand.Connection = cnn myCommand.CommandText = Sql myCommand.ExecuteNonQuery() functionReturnValue = True Catch myerror As MySqlException functionReturnValue = False End Try Return functionReturnValue End Function
2) Como lo coloque esta guardando todo lo que tengas en el DGV. Si estas recorriendo bien, deberia gardarlo todo.
Espero ayude.
JOSE LUIS
Dios NO los llamo LAS DIEZ RECOMENDACIONES
-
Jose disculpa mi ignorancia pero ayudame si no es mucho pedir con el codigo completo creeme solo sera una vez aprendo rapido mi vida.
es decir desde que debo hacer en el recorrido como en la funcion procesar.
Gracias de ante mano Jose Luis creeme me ayudaras demasiado
-
-