Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > Firebird e Interbase
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 23-11-2013
Iniciante22 Iniciante22 is offline
Registrado
NULL
 
Registrado: jul 2013
Posts: 2
Poder: 0
Iniciante22 Va por buen camino
Insertar datos en tabla recorriendo un dbgrid

Hola a todos soy nueva en club delphi y es la primera ves que consulto de antemano disculpas por si hago cosas que no esten correctas...
estoy trabajando con delphi XE y con el motor de base de datos firerbird....
mi consulta es la siguiente estoy desarrollando el modulo de crear usuarios para un sistema de control de inventario...y me han solicitado que un usuario tenga varios perfiles el cual comprende asociar el departamento mas el area = perfil...ya tengo eso mi problema es que no se como ingresar esa relacion que la hago en un dbgrid a la tabla...osea tengo que recorrer todas las lineas del dbgri e irlas insertando en la tabla pero no se como hacerlo...
mi codigo que utilizo para insertar los datos en la base es:
with dmConecta.qAreaporRol do
begin
Close;
sql.Clear;
sql.Add('insert into AREAPORROL (IDAREAROL, ID_PERFILES, ID_ROLES, ID_USUARIO, ID_DEPTO)');
sql.Add('values (:IDAREAROL, ID_PERFILES,ID_ROLES, ID_USUARIO, ID_DEPTO)');
parambyname('IDAREAROL').AsInteger := CapturaAreaRol;
parambyname('pID_PERFILES').AsInteger := Id_AgregaPerfil;
parambyname('pID_ROLES').AsInteger := CapturaId_rol;
parambyname('pID_USUARIO').AsInteger := capId_tUsuarios;
parambyname('pID_DEPTO').AsInteger := Captura_idDeptos;
execsql;
end;


de Antemano gracias porque su foro me ha halldado demasiado...
Responder Con Cita
  #2  
Antiguo 24-11-2013
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 38
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola Iniciante22, bienvenida a Club Delphi

Como es costumbre cuando se inician te invitamos a que leas nuestra guía de estilo.

También te aconsejo que cuando incluyas código en tus mensaje utilices TAG's para darle más legibilidad:



Cita:
Empezado por Iniciante22 Ver Mensaje
...o sea tengo que recorrer todas las lineas del dbgri e irlas insertando en la tabla pero no se como hacerlo...
mi codigo que utilizo para insertar los datos en la base es:
with dmConecta.qAreaporRol do
begin
Close;
sql.Clear;
sql.Add('insert into AREAPORROL (IDAREAROL, ID_PERFILES, ID_ROLES, ID_USUARIO, ID_DEPTO)');
sql.Add('values (:IDAREAROL, ID_PERFILES,ID_ROLES, ID_USUARIO, ID_DEPTO)');
parambyname('IDAREAROL').AsInteger := CapturaAreaRol;
parambyname('pID_PERFILES').AsInteger := Id_AgregaPerfil;
parambyname('pID_ROLES').AsInteger := CapturaId_rol;
parambyname('pID_USUARIO').AsInteger := capId_tUsuarios;
parambyname('pID_DEPTO').AsInteger := Captura_idDeptos;
execsql;
end;
...
Podrías hacer:
Código Delphi [-]
...
begin
  dmConecta.qAreaporRol.Close;
  dmConecta.qAreaporRol.SQL.Clear;
  dmConecta.qAreaporRol.SQL.Add('INSERT INTO AREAPORROL (IDAREAROL, ID_PERFILES, ID_ROLES, ID_USUARIO, ID_DEPTO)');
  dmConecta.qAreaporRol.SQL.Add('VALUES (:IDAREAROL, :ID_PERFILES, :ID_ROLES, :ID_USUARIO, :ID_DEPTO)');
  dmConecta.qAreaporRol.Prepare;
  with DBGrid1.DataSource.DataSet do
  begin
    DisableControls;
    try
      First;
      while not Eof do
      begin
        dmConecta.qAreaporRol.ParamByName(':IDAREAROL').Value  := FieldByName('IDAREAROL').Value;
        dmConecta.qAreaporRol.ParamByName(':ID_PERFILES').Value:= FieldByName('ID_PERFILES').Value;
        dmConecta.qAreaporRol.ParamByName(':ID_ROLES').Value   := FieldByName('ID_ROLES').Value;
        dmConecta.qAreaporRol.ParamByName(':ID_USUARIO').Value := FieldByName('ID_USUARIO').Value;
        dmConecta.qAreaporRol.ParamByName(':ID_DEPTO').Value   := FieldByName('ID_DEPTO').Value;
        dmConecta.qAreaporRol.ExecSQL;
        Next;
      end;
    finally
      EnableControls;
    end;
  end;
end;

Saludos
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....

Última edición por ecfisa fecha: 26-11-2013 a las 04:23:55.
Responder Con Cita
  #3  
Antiguo 26-11-2013
Avatar de AzidRain
[AzidRain] AzidRain is offline
Miembro Premium
 
Registrado: sep 2005
Ubicación: Córdoba, Veracruz, México
Posts: 2.914
Poder: 23
AzidRain Va camino a la fama
Como ya te pusieron en el ejemplo lo que se recorre es el dataset al que está ligado el dbgrid. El dbgrid no es mas que la representación visual de los datos pero no los contiene, eso lo tiene el dataset. La manera correcta de manipular datos es usando directamente los datasets, todo los controls asociados a él se actualizarán para reflejar cualquier cambio.
__________________
AKA "El animalito" ||Cordobés a mucha honra||
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Leer Memos recorriendo tabla ramonibk Conexión con bases de datos 3 21-02-2011 19:04:12
Insertar en tabla dbgrid recorriendo filas y columnas una a una Moparova Conexión con bases de datos 1 23-05-2008 14:52:16
Insertar Datos De Un Dbgrid A Una Tabla schaka Varios 6 24-02-2008 20:59:21
Dbgrid para insertar en una tabla pero cogiendo datos de otra tabla taru MySQL 1 27-07-2006 15:36:12
Como insertar datos de una tabla en otra tabla? Salomon Firebird e Interbase 1 28-08-2003 11:29:40


La franja horaria es GMT +2. Ahora son las 16:38:09.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi