Hola Amigos, tengo un DataGrid el cual lleno con información de una tabla de una base de datos que está en SQLite, lo que necesito es que una ves que muestro los datos en el datagrid es recorrer este datagrid e ir insertando la información de sus filas en otra tabla de la base de datos.
como se hace esto? Me pueden ayudar por favor.
Pongo el código de como lleno mi datagrid.
Imports System
Imports System.Data
Imports System.IO
Imports System.Data.SQLite
Imports System.Windows.Forms.SystemInformation
Public Class Form5
Dim cnnl As New SQLiteConnection
Public consulta As String
Dim Ada As New SQLiteDataAdapter()
Private Sub Form5_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim mySql As String
cnnl = New SQLiteConnection("Data Source=\BACKUP\BD\CLAS_MOBILE.db;Version=3;")
cnnl.Open()
mySql = "SELECT * FROM INS_INSPECCIONES_MOBILE_TMP"
DataGrid1.DataSource = RecogerConsulta(mySql)
End Sub
Public Function RecogerConsulta(ByVal mySql As String) As DataTable
Dim tmpTable As New DataTable
Try
Ada = New SQLiteDataAdapter(mySql, cnnl)
Ada.Fill(tmpTable)
Catch ex As Exception
MessageBox.Show(ex.Message, "Error")
End Try
Return tmpTable
End Function
End Class
Desde ya muchas gracias.
Se me olvidaba decir que es para una aplicación
.NET Compact Framework 2.0 para Windows CE 5.0
busca en internet que hay info, busca recorrer datagrid en .net o Loop through datagrid .net y te salen muchos codigos.
De hecho creo que es un tanto sencillo o bueno a coom lo explicas bastaria con un simple for ejemplo
DIM S as SqlDataAdapter
dim dt as datatable
for i = 0 to datagrid.rows.count - 1
Dim mySql as String = "INSERT INTO Tabla blablabla"
S = New SQLiteDataAdapter(mySql, cnnl)
dt = new datatable
S.Fill(dt)
S.Update(Ctype(dt,datatable))
next
Ya con eso podrias ir insertando los datos en otra tabla para recojer los datos en el for seria
datagrid(i,0).value.tostring
donde i = fila y 0 = columna
.mokk. , muchas gracias por responder y querer ayudarme
el problema que tengo es que la propiedad
DataGrid.rows.count
no me aparece en las aplicaciones
.NET Compact Framework
y no se cual es su similar
Intentalo así:
Tienes la data que metes en el grid, bien, ahora seguro es un Collection o lo que sea, la cosa es que despues de hacer data binding contra el grid, metes el collection en el ViewState :P De esa forma (un poco digamos fea) mantienes la data INTEGRA. Cosa que luego tomas del ViewState, haces unboxing y no tienes que recorrer la tabla ni estar haciendo piruetas :¬¬
Un saludo.
hola [D4N93R], gracias por tu respuesta y querer ayudarme, pero no entiendo mucho, es que soy principiante en en to de vb.net :(
Esto deberia funcionar
DataTable myTable =(DataTable)DataGrid1.DataSource;
string mySql;
SQLiteCommand _SQLiteCommand;
SQLiteConnection cnn = new SQLiteConnection(@"Data Source=\BACKUP\BD\CLAS_MOBILE.db;Version=3;");
cnn.Open();
SQLiteTransaction _SQLiteTransaction = cnn.BeginTransaction();
foreach (DataRow myRow in myTable.Rows)
{
mySql = "INSERT INTO TABLA VALUES..............";
_SQLiteCommand = new SQLiteCommand(mySql, cnn);
_SQLiteCommand.ExecuteNonQuery();
}
_SQLiteTransaction.Commit();
cnn.Close();