Ayuda para grabar datos.

22/11/2005 - 19:02 por Mike | Informe spam
Hola amigos

Cualquier ayuda es bienvenida, espero haber posteado bien,Tengo un listview
que se llena desde una aplicacion en VB Net 2002 y en determinado momento
necesito grabar los items contenidos, al recorrer el listview, me agrega (n)
registros como items tenga, pero con la informacion de la primera fila, osea
los mismo datos de la primera fila,se repiten en todos los registros
añadidos, anexo el codigo usado. Que estoy haciendo mal?, Que me falta?,
Alguien que me oriente, 1000 gracias.

Dim z As Integer
Conn.Open()
Mycom.Connection = Conn

For z = 0 To ListView1.Items.Count - 1
Mycom.CommandText = "INSERT INTO tabla(campo1, campo2,campo3)
VALUES(?A,?B,?C)"
Mycom.Parameters.Add("?A",ListView1.Items(z).SubItems(0).Text )
Mycom.Parameters.Add("?B",ListView1.Items(z).SubItems(1).Text)
Mycom.Parameters.Add("?D",ListView1.Items(z).SubItems(2).Text)
Try
Mycom.ExecuteNonQuery()
Catch myerror As MySqlException
MsgBox("Produce Error : " & myerror.Message)
Conn.Close()
End Try
Next
Conn.Close()
 

Leer las respuestas

#1 Miguel Angel
24/11/2005 - 00:58 | Informe spam
Eduardo
Ya quedo solucionado el problema, resulta que estaba tan obsesionado
resolviendo lo de la grabacion, que omitia un error de sintaxis de otro
modulo, el cual curiosamente (por ser la primera vez que me ocurre), estaba
afectando a mi rutina de grabacion, tu sugerencia, esta trabajando
perfectamente bien, Gracias.



"Eduardo A. Morcillo [MS MVP VB]" escribió:

El comando y los parametros debes crearlos una sola vez y luego ir asignando
los valores a los parametros en el bucle. Mas o menos asi:

Dim z As Integer

Conn.Open()

Try

Mycom.Connection = Conn
Mycom.CommandText = "INSERT INTO tabla(campo1, campo2,campo3)
VALUES(?A,?B,?C)"
Mycom.Parameters.Clear()
Mycom.Parameters.Add("?A", DBNull.Value)
Mycom.Parameters.Add("?B", DBNull.Value)
Mycom.Parameters.Add("?D", DBNull.Value)

For z = 0 To ListView1.Items.Count - 1

Try

Mycom.Parameters(0).Value = ListView1.Items(z).SubItems(0).Text
Mycom.Parameters(1).Value = ListView1.Items(z).SubItems(1).Text
Mycom.Parameters(2).Value = ListView1.Items(z).SubItems(2).Text

Mycom.ExecuteNonQuery()

Catch myerror As MySqlException

MsgBox("Produce Error : " & myerror.Message)

End Try

Next

Finally

Conn.Close()

End Try

Eduardo A. Morcillo [MS MVP VB]
http://www.mvps.org/emorcillo
http://mvp.support.microsoft.com/pr...4EF5A4191C



Preguntas similares