Visual Basic.NET - Guardar en Tabla MySql los registros de un excel mostrados en DataGridView Vb.Net

 
Vista:
Imágen de perfil de Roderick

Guardar en Tabla MySql los registros de un excel mostrados en DataGridView Vb.Net

Publicado por Roderick (6 intervenciones) el 27/07/2016 16:44:47
Hola a todos

Tengo este Form:
donde cn un boton abro el archivo excel y la hoja que quiero que se muestre en el DataGridView que se muestra a su derecha.
Captura

y queda de esta forma:


23

Ahora como ya ven esta mostrandoce el archivo excel.

Necesito que esos registros q estan en ese excel dentro del DataGridView se agreguen a una tabla MySql
tengo el siguiente codigo para ello:

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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
Imports MySql.Data.MySqlClient
 
Private Sub guardar_Click(sender As Object, e As EventArgs) Handles guardar.Click
	oConexion = New MySqlConnection("server=localhost; database=spectterraoptimizada; user id=root;password=1234")
 
	Dim agregar As MySqlCommand = New MySqlCommand("INSERT INTO spectterra Values(@HOLEID, @From, @To, @Point, @1400, @2200, @2350, @SPEC_CODE, @Au g/t, @Cu%, @sil, @Pyro, @Diaspore, @Dick, @Alun, @kaol, @Sericite, @ill, @Smec, @chl, @Epid, @Gypsum, @CARB, @Int, @Limonite, @jaro, @goe, @Hem, @Barite, @Biotite, @Comments, @Geologist, @File, @Mes, @Fecha, @Año, @Spect_Code_Verif)", oConexion)
 
	oConexion.Open()
	Try
 
 
		Dim fila As DataGridView = New DataGridView()
 
		For Each fila In DataGridView2.Rows
 
			agregar.Parameters.Clear()
 
			agregar.Parameters.AddWithValue("@HOLEID", Convert.ToString(fila.SelectedCells("Column1").Value))
			agregar.Parameters.AddWithValue("@From", Convert.ToString(fila.SelectedCells("Column2").Value))
			agregar.Parameters.AddWithValue("@To", Convert.ToString(fila.SelectedCells("Column3").Value))
			agregar.Parameters.AddWithValue("@Point", Convert.ToString(fila.SelectedCells("Column4").Value))
			agregar.Parameters.AddWithValue("@1400", Convert.ToString(fila.SelectedCells("Column5").Value))
			agregar.Parameters.AddWithValue("@2200", Convert.ToString(fila.SelectedCells("Column6").Value))
			agregar.Parameters.AddWithValue("@2350", Convert.ToString(fila.SelectedCells("Column7").Value))
			agregar.Parameters.AddWithValue("@SPECT_CODE", Convert.ToString(fila.SelectedCells("Column8").Value))
			agregar.Parameters.AddWithValue("@Au g/t", Convert.ToString(fila.SelectedCells("Column9").Value))
			agregar.Parameters.AddWithValue("@Cu%", Convert.ToString(fila.SelectedCells("Column10").Value))
			agregar.Parameters.AddWithValue("@sil", Convert.ToString(fila.SelectedCells("Column11").Value))
			agregar.Parameters.AddWithValue("@Pyro", Convert.ToString(fila.SelectedCells("Column12").Value))
			agregar.Parameters.AddWithValue("@Diaspore", Convert.ToString(fila.SelectedCells("Column13").Value))
			agregar.Parameters.AddWithValue("@Dick", Convert.ToString(fila.SelectedCells("Column14").Value))
			agregar.Parameters.AddWithValue("@Alun", Convert.ToString(fila.SelectedCells("Column15").Value))
			agregar.Parameters.AddWithValue("@kaol", Convert.ToString(fila.SelectedCells("Column16").Value))
			agregar.Parameters.AddWithValue("@Sericite", Convert.ToString(fila.SelectedCells("Column17").Value))
			agregar.Parameters.AddWithValue("@ill", Convert.ToString(fila.SelectedCells("Column18").Value))
			agregar.Parameters.AddWithValue("@Smec", Convert.ToString(fila.SelectedCells("Column19").Value))
			agregar.Parameters.AddWithValue("@chl", Convert.ToString(fila.SelectedCells("Column20").Value))
			agregar.Parameters.AddWithValue("@Epid", Convert.ToString(fila.SelectedCells("Column21").Value))
			agregar.Parameters.AddWithValue("@Gypsum", Convert.ToString(fila.SelectedCells("Column22").Value))
			agregar.Parameters.AddWithValue("@CARB", Convert.ToString(fila.SelectedCells("Column23").Value))
			agregar.Parameters.AddWithValue("@Int", Convert.ToString(fila.SelectedCells("Column24").Value))
			agregar.Parameters.AddWithValue("@Limonite", Convert.ToString(fila.SelectedCells("Column25").Value))
			agregar.Parameters.AddWithValue("@jaro", Convert.ToString(fila.SelectedCells("Column26").Value))
			agregar.Parameters.AddWithValue("@goe", Convert.ToString(fila.SelectedCells("Column27").Value))
			agregar.Parameters.AddWithValue("@Hem", Convert.ToString(fila.SelectedCells("Column28").Value))
			agregar.Parameters.AddWithValue("@Barite", Convert.ToString(fila.SelectedCells("Column29").Value))
			agregar.Parameters.AddWithValue("@Biotite", Convert.ToString(fila.SelectedCells("Column30").Value))
			agregar.Parameters.AddWithValue("@Comments", Convert.ToString(fila.SelectedCells("Column31").Value))
			agregar.Parameters.AddWithValue("@Geologist", Convert.ToString(fila.SelectedCells("Column32").Value))
			agregar.Parameters.AddWithValue("@File", Convert.ToString(fila.SelectedCells("Column33").Value))
			agregar.Parameters.AddWithValue("@Mes", Convert.ToString(fila.SelectedCells("Column34").Value))
			agregar.Parameters.AddWithValue("@Fecha", Convert.ToString(fila.SelectedCells("Column35").Value))
			agregar.Parameters.AddWithValue("@Año", Convert.ToString(fila.SelectedCells("Column36").Value))
			agregar.Parameters.AddWithValue("@Spect_Code_Verif", Convert.ToString(fila.SelectedCells("Column37").Value))
 
		Next
		MessageBox.Show("Datos Guardados Correctamente")
		Exit Sub
	Catch ex As Exception
		MessageBox.Show("Error")
	Finally
		oConexion.Close()
 
	End Try
 
End Sub

Pero este me salta ERROR y no guarda nada si alguien me ayuda se lo agradecere muchisimo Saludos
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 481
Bronce
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Guardar en Tabla MySql los registros de un excel mostrados en DataGridView Vb.Net

Publicado por Miguel (476 intervenciones) el 27/07/2016 21:40:21
Hola,

- En el MySqlCommand me parece que tienes tienes mal escrito el INSERT INTO; en la parte de VALUES los parámetros "@Au g/t, @Cu%" no pueden ir así.

- En el For Each, la parte "fila.SelectedCells()" me parece que no está bien. Si quieres insertar sólo las filas seleccionadas creo que debes usar "SelectedRows", ejemplo: "For Each fila In DataGridView2.SelectedRows ..."

- Por último, no veo dónde ejecutas la función "ExecuteNonQuery()" de tu comando insertar, esto debe ir en la parte final del For Each.



Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Roderick

Guardar en Tabla MySql los registros de un excel mostrados en DataGridView Vb.Net

Publicado por Roderick (6 intervenciones) el 28/07/2016 15:09:11
Hola Miguel gracias por responder hice tus indicaciones y logre que me muestre que guardo los datos pero en realidad no los guarda
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 481
Bronce
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Guardar en Tabla MySql los registros de un excel mostrados en DataGridView Vb.Net

Publicado por Miguel (476 intervenciones) el 28/07/2016 19:34:51
¿Ejecutas el "agregar.ExecuteNonQuery()" al final del "For Each"?....
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 481
Bronce
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Guardar en Tabla MySql los registros de un excel mostrados en DataGridView Vb.Net

Publicado por Miguel (476 intervenciones) el 28/07/2016 19:40:17
Otra cosa, en donde tienes "fila.SelectedCells(..." creo que deberías cambiarlo por ""fila.Cells(...".
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Roderick

Guardar en Tabla MySql los registros de un excel mostrados en DataGridView Vb.Net

Publicado por Roderick (6 intervenciones) el 28/07/2016 19:58:00
ASI SI LO EJECUTO
PERO DONDE ME DICES "fila.SelectedCells(..." creo que deberías cambiarlo por ""fila.Cells(...".

NO PUEDO CAMBIARLO ME SALTA ERROR NO ME PERMITE OTRA COSA QUE NO SEA SELECTEDCELLS
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar