Foros del Web » Programación para mayores de 30 ;) » .NET »

hacer un Insert Into con datos de flexgrid??

Estas en el tema de hacer un Insert Into con datos de flexgrid?? en el foro de .NET en Foros del Web. Buenas noches a todos: Necesito una vez más de su valiosa ayuda: Tengo un flexgrid que lleno con una consulta a una tabla mysql, mi ...
  #1 (permalink)  
Antiguo 06/10/2008, 19:33
 
Fecha de Ingreso: abril-2008
Mensajes: 208
Antigüedad: 16 años, 1 mes
Puntos: 2
hacer un Insert Into con datos de flexgrid??

Buenas noches a todos:

Necesito una vez más de su valiosa ayuda:

Tengo un flexgrid que lleno con una consulta a una tabla mysql, mi pregunta es si es posible ahora hacer el inverso. O sea una vez lleno del flex llevar esos datos a otra tabla mysql.
La idea es ir poblando una tabla con los datos que sean cargados al flex, pero no se como hacer para tomar los datos del flex y pasarlos al insert.

Con este codigo lleno el flex.
Código:
Call IniciarConexionCC ' abre la  conexión a la BD
' carga el Recorset con todos los datos
  rsCC.Open "Select *  " _
         & "From `call` " _
         & " Where call_id >= " _
         & " " & txtid & "" _
         & " order by call_id asc ", cnnCC, adOpenKeyset, adLockOptimistic
  
 ' llena el flexgrid, llama el  codigo que llena  el  flex
       Call CargarFlexdatos(flexdatos)
     
  'desconecta la llamada y deja habilitado para una nueva consulta
       Call DesconectarCC

codigo para ejecutar el insert, ¿¿Como le digo que tome los datos del flex??
Código:
 
cnnCC.Execute " INSERT INTO call_consult" _
   & "(campos de la tabla)" _
   & " VALUES (  datos del flex )"
   
   Call Desconectar

Desde ya gracias por su valiosa ayuda
  #2 (permalink)  
Antiguo 07/10/2008, 11:54
 
Fecha de Ingreso: abril-2008
Mensajes: 208
Antigüedad: 16 años, 1 mes
Puntos: 2
Respuesta: hacer un Insert Into con datos de flexgrid??

Alguna idea, o propuesta???

U otra forma de conseguir el objetivo de guardar los datos de una consulta en una tabal distinta a la de origen???

Gracias
  #3 (permalink)  
Antiguo 07/10/2008, 12:47
Avatar de mvazquez  
Fecha de Ingreso: octubre-2004
Ubicación: Monterrey - México
Mensajes: 875
Antigüedad: 19 años, 6 meses
Puntos: 8
Respuesta: hacer un Insert Into con datos de flexgrid??

Hola chelodelsur en que estas programando para poder darte mi opinion?
__________________
http://vazquezvega.wordpress.com/
"La paciencia nos da el privilegio de compartir el refrescante fruto de Dios con los demás."
  #4 (permalink)  
Antiguo 07/10/2008, 13:18
 
Fecha de Ingreso: abril-2008
Mensajes: 208
Antigüedad: 16 años, 1 mes
Puntos: 2
Respuesta: hacer un Insert Into con datos de flexgrid??

Hola-:

La aplicación esta en VB 6 y la base es Mysql 5.0. Lo que necesito es poder ejecutar una consulta que se visualiza en el flex, y los datos que trajo la consulta al flex poderlos enviar a otra tabla .

Espero me puedas ayudar.
  #5 (permalink)  
Antiguo 07/10/2008, 14:50
Avatar de mvazquez  
Fecha de Ingreso: octubre-2004
Ubicación: Monterrey - México
Mensajes: 875
Antigüedad: 19 años, 6 meses
Puntos: 8
Respuesta: hacer un Insert Into con datos de flexgrid??

Que onda chelodelsur............

Claro que si, mira te pasare la manera mas simple, te hablare únicamente de VB6, MySQL no lo conozco...

Declaras un recordSet
Código:
Dim rsAux       As ADODB.Recordset
Luego ejecutas una consulta
Código:
Set rsAux = conexion.Execute("SELECT * FROM Clientes WHERE strNombre = '" & Trim(txtDespliega(5)) & "'")
Y ese recordSet te traerá todos los datos de tu consulta la cual le asignaras al TDBGrid
Código:
Set TDBGrid.DataSource = rsAux

y para recorrer el TDBGrid y leer sus registros solo haces lo siguiente........ es mas no recorres el TDBGrid recorres el rsAux así..........

Código:
rsAux.MoveFirst
Do While Not rsAux.EOF
   rsAux!datFecha0
   rsAux("datFecha0")
rsDatos.MoveNext
Loop
Y listo ahí dentro del While haces lo que tengas que hacer, espero que te sea util.

Saludos.
PD: si te fue util calificame!! :)
__________________
http://vazquezvega.wordpress.com/
"La paciencia nos da el privilegio de compartir el refrescante fruto de Dios con los demás."
  #6 (permalink)  
Antiguo 07/10/2008, 15:30
 
Fecha de Ingreso: abril-2008
Mensajes: 208
Antigüedad: 16 años, 1 mes
Puntos: 2
Respuesta: hacer un Insert Into con datos de flexgrid??

Muchas gracias por la respuesta mvasquez.

Pero para que veas que soy duro, necesito me expliques con manazana esta parte. Lo demás del código ya lo manejo y lo tengo hecho, pero es aquí en donde no se como armar mi codigo para ejecutar el Insert.

Cita:
y para recorrer el TDBGrid y leer sus registros solo haces lo siguiente........ es mas no recorres el TDBGrid recorres el rsAux así..........


Código: rsAux.MoveFirst
Do While Not rsAux.EOF
rsAux!datFecha0
rsAux("datFecha0")
rsDatos.MoveNext
Loop
Y listo ahí dentro del While haces lo que tengas que hacer, espero que te sea util.
Como le indico que tome los datos que hay en rsAux y los envíe a la tabla xx???

La sintaxis de Mysql me pide:
Código:
 Insert Into nombretabla
(campos tabla)
Values
(valores a insertar)
Desde ya gracias por el tiempo que dedican a ayudar
Chelodelsur


Edit: o será así??
Código: rsAux.MoveFirst
Do While Not rsAux.EOF
rsAux!campo1
rsAux("valorcampo1")
rsDatos.MoveNext
Loop
  #7 (permalink)  
Antiguo 07/10/2008, 15:53
Avatar de mvazquez  
Fecha de Ingreso: octubre-2004
Ubicación: Monterrey - México
Mensajes: 875
Antigüedad: 19 años, 6 meses
Puntos: 8
Respuesta: hacer un Insert Into con datos de flexgrid??

Ok, asi empezamos todos............

Código:
Call conexion.Execute("INSERT INTO Tabla  (Campo1, Campo2) VALUES ('" & rsAux("Dato1") & "', '" & rsAux("Dato2") & "'")
Si el valor que insertas es string lo pones asi:
'" & rsAux("Dato") & "'
Si no es string:
" & rsAux("Dato") & "


Cualquier duda comentalo.
Saludos.
__________________
http://vazquezvega.wordpress.com/
"La paciencia nos da el privilegio de compartir el refrescante fruto de Dios con los demás."
  #8 (permalink)  
Antiguo 07/10/2008, 17:05
 
Fecha de Ingreso: abril-2008
Mensajes: 208
Antigüedad: 16 años, 1 mes
Puntos: 2
Respuesta: hacer un Insert Into con datos de flexgrid??

Para hacerlo con manzanitas.
Tengo dos conexiones a BD en la aplicación
BD1 :
Código:
Public cnn As New ADODB.Connection
Public rs As New ADODB.Recordset
BD2:
Código:
Public cnnCC As New ADODB.Connection
Public rsCC As New ADODB.Recordset
El llenado del flexgrid lo hago con la bd2 o sea, llamo la conexion cnnCC, y el recordset rsCC. Luego la exportación de los datos será hacia la bd 1, conexion cnn y recordset rs.

digamos que ya hice el select y el flexgrid ( llamado flexdatos) esta lleno con la consulta
Código:
Call IniciarConexionCC  ' aqui esta declarada la  conexión en el BAS
' carga el Recorset con todos los datos
  rsCC.Open "Select *  " _
         & "From `callcapture`.`call` " _
         & " Where call_id >= " _
         & " " & Vtxtid & "" _
         & " order by call_id asc ", cnnCC, adOpenKeyset, adLockOptimistic
  
 ' llena el flexgrid
       Call CargarFlexdatos(flexdatos) ' Aquí esta  declarado el felx  en el BAS
     
  'desconecta la llamada y deja habilitado para una nueva consulta
       Call DesconectarCC 'cierra  la   conexión
ahora en el form declaro el siguiente codigo dentro del comando que ejecutará el insert?? como??

Código:
rsCC.MoveFirst
Do While Not rsCC.EOF
   rsCC!datFecha0 
   rsCC("datFecha0") 
rsCC.MoveNext
Loop
Y como ligo este codigo con
Código:
Call conexion.Execute("INSERT INTO Tabla  (Campo1, Campo2) VALUES ('" & rsAux("Dato1") & "', '" & rsAux("Dato2") & "'")
ten unpoco de paciencia hay días que soy mas rapido, pero hoy no es uno de esos

Gracias
  #9 (permalink)  
Antiguo 08/10/2008, 12:50
Avatar de mvazquez  
Fecha de Ingreso: octubre-2004
Ubicación: Monterrey - México
Mensajes: 875
Antigüedad: 19 años, 6 meses
Puntos: 8
Respuesta: hacer un Insert Into con datos de flexgrid??

Hola, asi tal cual
Código:
rsCC.MoveFirst
Do While Not rsCC.EOF
Call conexion.Execute("INSERT INTO Tabla  (Campo1, Campo2) VALUES ('" & rsCC("Dato1") & "', '" & rsCC("Dato2") & "'")
rsCC.MoveNext
Loop
__________________
http://vazquezvega.wordpress.com/
"La paciencia nos da el privilegio de compartir el refrescante fruto de Dios con los demás."
  #10 (permalink)  
Antiguo 09/10/2008, 19:19
 
Fecha de Ingreso: abril-2008
Mensajes: 208
Antigüedad: 16 años, 1 mes
Puntos: 2
Respuesta: hacer un Insert Into con datos de flexgrid??

Muchas gracias mvasquez

por todo el tiempo y paciencia dedicado. Ya fucnionó, al final lo armé con un array, pero tu guía fue fundamental para llegar al final.

aprendí un monton, muchas gracias a tí y todo el foro que siempre me ha ayudado..

Muchas gracias
  #11 (permalink)  
Antiguo 10/10/2008, 14:30
Avatar de mvazquez  
Fecha de Ingreso: octubre-2004
Ubicación: Monterrey - México
Mensajes: 875
Antigüedad: 19 años, 6 meses
Puntos: 8
Respuesta: hacer un Insert Into con datos de flexgrid??

Para esos son los camaradas...
__________________
http://vazquezvega.wordpress.com/
"La paciencia nos da el privilegio de compartir el refrescante fruto de Dios con los demás."
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 08:29.