como se puede guardar esto fila a fila?

16/10/2006 - 11:31 por Sonia | Informe spam
si hago una consulta sql para despues q tiene varias lineas y cada
linea kiero guardarla en otra tabla usando
oledbdatareader, q le tengo q decir para hacerlo para cada
fila?
kiero hacerlo igual q lo guardo para cada fila de un
listview q lo hago asi:
For i = 0 To prueba.Items.Count - 1
...
Next

pero para cada fila de la consulta
es eso posible?
gracias!()

Preguntas similare

Leer las respuestas

#1 Sonia
16/10/2006 - 11:57 | Informe spam
me explico mejor:
Para guardar las lineas de una factura cargo un listview con todos los datos
de la linea menos el numfactura y el numlinea q se genera en ese form. Lo q
hago para guardar las lineas de la facura es esto:
Dim nuevo4 As cargalist
mysql = "SELECT isbn, cantidad, pvp, titulo, cod_art, id_pedido,dto_gen FROM
generarlineasfactura where id_pedido=" & idped
nuevo4.MySqlCargarVista(CadenaConexion, mysql, prueba)

For i = 0 To prueba.Items.Count - 1
isb1 = prueba.Items(i).SubItems(0).Text '0
cantidad = prueba.Items(i).SubItems(1).Text '1
pv = prueba.Items(i).SubItems(2).Text '2
ti = prueba.Items(i).SubItems(3).Text '3
id = prueba.Items(i).SubItems(4).Text '4
var6 = prueba.Items(i).SubItems(6).Text '4
'***************************
Dim num As Integer = numfac.Text
linia += 1

mysql = "INSERT INTO lineas_factura (clave, numero_factura,
codigo,cantidad,pvp, titulo,codigo_articulo,dto) "
mysql = mysql & "values(" & linia & "," & num & ",'" & isb1 & "'," &
cantidad & ",'" & pv & "','" & ti & "','" & id & "'," & var6 & ")"
CrearMiOleDbCommand(mysql, CadenaConexion)

mysql = "update stock set stock=stock -" & cantidad & " where CLAVE ='" & id
& "' AND ALMACEN='" & almacen2.Text & "'"
' gestiona.Gestionar(mysql)
CrearMiOleDbCommand(mysql, CadenaConexion)
Next


No se si se podra hacer de forma mas rapida pq cuando hay muchas lineas
tarda bastante.
La consulta anterior era hacer lo mismo pero directamente desde esa consulta
mysql, sin necesidad de cargarlo todo en el listview
No se q forma sera mas eficaz


"Sonia" escribió en el mensaje
news:
si hago una consulta sql para despues q tiene varias lineas y cada
linea kiero guardarla en otra tabla usando
oledbdatareader, q le tengo q decir para hacerlo para cada
fila?
kiero hacerlo igual q lo guardo para cada fila de un
listview q lo hago asi:
For i = 0 To prueba.Items.Count - 1
...
Next

pero para cada fila de la consulta
es eso posible?
gracias!()




Respuesta Responder a este mensaje
#2 floyd303
16/10/2006 - 16:34 | Informe spam
Hola

Has probado a hacer una consulta SQL directamente de este tipo:

Dim num As Integer = numfac.Text
linia += 1

mysql = "INSERT INTO lineas_factura (clave, numero_factura,
codigo,cantidad,pvp, titulo,codigo_articulo,dto) SELECT " & linia & ",
" & num & ", isbn, cantidad, pvp, titulo, cod_art, dto_gen FROM
generarlineasfactura where id_pedido=" & idped
CrearMiOleDbCommand(mysql, CadenaConexion)

Espero que te ayude (he hecho la sintaxis un poco de memoria, pero creo
que esta bien)

Saludos
Roberto M. Oliva



Sonia ha escrito:

me explico mejor:
Para guardar las lineas de una factura cargo un listview con todos los datos
de la linea menos el numfactura y el numlinea q se genera en ese form. Lo q
hago para guardar las lineas de la facura es esto:
Dim nuevo4 As cargalist
mysql = "SELECT isbn, cantidad, pvp, titulo, cod_art, id_pedido,dto_gen FROM
generarlineasfactura where id_pedido=" & idped
nuevo4.MySqlCargarVista(CadenaConexion, mysql, prueba)

For i = 0 To prueba.Items.Count - 1
isb1 = prueba.Items(i).SubItems(0).Text '0
cantidad = prueba.Items(i).SubItems(1).Text '1
pv = prueba.Items(i).SubItems(2).Text '2
ti = prueba.Items(i).SubItems(3).Text '3
id = prueba.Items(i).SubItems(4).Text '4
var6 = prueba.Items(i).SubItems(6).Text '4
'***************************

mysql = "INSERT INTO lineas_factura (clave, numero_factura,
codigo,cantidad,pvp, titulo,codigo_articulo,dto) "
mysql = mysql & "values(" & linia & "," & num & ",'" & isb1 & "'," &
cantidad & ",'" & pv & "','" & ti & "','" & id & "'," & var6 & ")"
CrearMiOleDbCommand(mysql, CadenaConexion)

mysql = "update stock set stock=stock -" & cantidad & " where CLAVE ='" & id
& "' AND ALMACEN='" & almacen2.Text & "'"
' gestiona.Gestionar(mysql)
CrearMiOleDbCommand(mysql, CadenaConexion)
Next


No se si se podra hacer de forma mas rapida pq cuando hay muchas lineas
tarda bastante.
La consulta anterior era hacer lo mismo pero directamente desde esa consulta
mysql, sin necesidad de cargarlo todo en el listview
No se q forma sera mas eficaz


"Sonia" escribió en el mensaje
news:
> si hago una consulta sql para despues q tiene varias lineas y cada
> linea kiero guardarla en otra tabla usando
> oledbdatareader, q le tengo q decir para hacerlo para cada
> fila?
> kiero hacerlo igual q lo guardo para cada fila de un
> listview q lo hago asi:
> For i = 0 To prueba.Items.Count - 1
> ...
> Next
>
> pero para cada fila de la consulta
> es eso posible?
> gracias!()
>
>
>
>
Respuesta Responder a este mensaje
#3 Sonia
17/10/2006 - 10:09 | Informe spam
mucho mas rapido.
gracias!


escribió en el mensaje
news:

Hola

Has probado a hacer una consulta SQL directamente de este tipo:

Dim num As Integer = numfac.Text
linia += 1

mysql = "INSERT INTO lineas_factura (clave, numero_factura,
codigo,cantidad,pvp, titulo,codigo_articulo,dto) SELECT " & linia & ",
" & num & ", isbn, cantidad, pvp, titulo, cod_art, dto_gen FROM
generarlineasfactura where id_pedido=" & idped
CrearMiOleDbCommand(mysql, CadenaConexion)

Espero que te ayude (he hecho la sintaxis un poco de memoria, pero creo
que esta bien)

Saludos
Roberto M. Oliva



Sonia ha escrito:

me explico mejor:
Para guardar las lineas de una factura cargo un listview con todos los


datos
de la linea menos el numfactura y el numlinea q se genera en ese form. Lo


q
hago para guardar las lineas de la facura es esto:
Dim nuevo4 As cargalist
mysql = "SELECT isbn, cantidad, pvp, titulo, cod_art, id_pedido,dto_gen


FROM
generarlineasfactura where id_pedido=" & idped
nuevo4.MySqlCargarVista(CadenaConexion, mysql, prueba)

For i = 0 To prueba.Items.Count - 1
isb1 = prueba.Items(i).SubItems(0).Text '0
cantidad = prueba.Items(i).SubItems(1).Text '1
pv = prueba.Items(i).SubItems(2).Text '2
ti = prueba.Items(i).SubItems(3).Text '3
id = prueba.Items(i).SubItems(4).Text '4
var6 = prueba.Items(i).SubItems(6).Text '4
'***************************

mysql = "INSERT INTO lineas_factura (clave, numero_factura,
codigo,cantidad,pvp, titulo,codigo_articulo,dto) "
mysql = mysql & "values(" & linia & "," & num & ",'" & isb1 & "'," &
cantidad & ",'" & pv & "','" & ti & "','" & id & "'," & var6 & ")"
CrearMiOleDbCommand(mysql, CadenaConexion)

mysql = "update stock set stock=stock -" & cantidad & " where CLAVE ='" &


id
& "' AND ALMACEN='" & almacen2.Text & "'"
' gestiona.Gestionar(mysql)
CrearMiOleDbCommand(mysql, CadenaConexion)
Next


No se si se podra hacer de forma mas rapida pq cuando hay muchas lineas
tarda bastante.
La consulta anterior era hacer lo mismo pero directamente desde esa


consulta
mysql, sin necesidad de cargarlo todo en el listview
No se q forma sera mas eficaz


"Sonia" escribió en el mensaje
news:
> si hago una consulta sql para despues q tiene varias lineas y cada
> linea kiero guardarla en otra tabla usando
> oledbdatareader, q le tengo q decir para hacerlo para


cada
> fila?
> kiero hacerlo igual q lo guardo para cada fila de un
> listview q lo hago asi:
> For i = 0 To prueba.Items.Count - 1
> ...
> Next
>
> pero para cada fila de la consulta
> es eso posible?
> gracias!()
>
>
>
>
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida