
ayuda! Guardar datagridview en bd access
Publicado por roberta (14 intervenciones) el 11/11/2014 18:26:14
Hola a todos,
os expongo mi problema.
tengo un form con un datagridview. Este datagridview lo lleno manualmente y luego, mediante un botón guardar, hago lo siguiente:
creo una tabla en mi bd y guardo todos los datos del datagridview en dicha tabla.
tengo este código:
el problema es que este código me guarda solo el primer reglón del datagrid.
¿Cómo puedo hacer para que me guarde todas las líneas?
Utilizo Vb 2010 y Access 2010.
Gracias de antemano.
Un saludo.
Roberta
os expongo mi problema.
tengo un form con un datagridview. Este datagridview lo lleno manualmente y luego, mediante un botón guardar, hago lo siguiente:
creo una tabla en mi bd y guardo todos los datos del datagridview en dicha tabla.
tengo este código:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
Function creatablapresupuestoenDDBB() As Boolean
Dim IdPresupuesto As String = TextIdPresupuesto.Text
'CONEXION
Dim Conexion As New OleDbConnection
Conexion.ConnectionString = "Provider=Microsoft.JET.OLEDB.4.0; Data Source = ..\\Debug\\presupuestos.mdb; Persist Security Info=False"
'----------------------------------------------------------------- APRO LA CONNESSIONE -------------------------------------------------------------------------------
Conexion.Open()
'----------------------------------------------------------------- CREO UNA NUEVA TABLA ------------------------------------------------------------------------------
Dim CreaTabla As String = "CREATE TABLE " & IdPresupuesto & " (Id COUNTER PRIMARY KEY, COD TEXT(255) NULL, DESCRIPCION MEMO NULL, PRECIO MONEY NULL)"
Dim cmdTabla As New OleDbCommand(CreaTabla, Conexion)
cmdTabla.ExecuteNonQuery()
'--------------------------------------------------- RIEMPIO LA TABLA CON I DATI DEL DATAGRIDVIEW --------------------------------------------------------------------
Dim CadenaSQL1 As String = "INSERT INTO " & IdPresupuesto & " (cod, descripcion, precio) VALUES (@Column1,@Column2,@Column3)"
Dim cmd As New OleDbCommand(CadenaSQL1, Conexion)
For Each row As DataGridViewRow In DataGridView1.Rows
cmd.Parameters.AddWithValue("@Column1", CStr(row.Cells("Column1").Value))
cmd.Parameters.AddWithValue("@Column2", CStr(row.Cells("Column2").Value))
cmd.Parameters.AddWithValue("@Column3", CDbl(row.Cells("Column3").Value))
Next
cmd.ExecuteNonQuery()
'---------------------------------------------------------------- CHIUDO LA CONNESSIONE ------------------------------------------------------------------------------
Conexion.Close()
Return True
End Function
el problema es que este código me guarda solo el primer reglón del datagrid.
¿Cómo puedo hacer para que me guarde todas las líneas?
Utilizo Vb 2010 y Access 2010.
Gracias de antemano.
Un saludo.
Roberta
Valora esta pregunta


0