Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 05-02-2008
MARLON1 MARLON1 is offline
Miembro
 
Registrado: nov 2007
Posts: 118
Poder: 17
MARLON1 Va por buen camino
hola caral

Cita:
Empezado por Caral Ver Mensaje
Hola
Aqui hay un ejemplo.
Saludos
HOLA CARAL OJALA Y ME PUEDAS AYUDAR CON LA DUDA QUE TENGO:

PUDE HACER LA CONEXION CON EXCEL Y MOSTRAR TODOS LOS DATOS EN UN DBGRID, PERO QUIERO GUARDAR TODOS ESOS DATOS QUE ESTAN EN EL DBGRID EN MI BD MI DUDA ES ¿PUEDO ASOCIAR DE ALGUNA MANERA ESE DBGRID CON OTRO DARASORCE QUE TENGO CONECTADO CON UN QUERY?, PARA QUE PUEDA GUARDAR LOS DATOS DE ESE DBGRID.
ESPERO Y ENTIENDAS MI DUDA. GRACIAS Y SALUDOS
Responder Con Cita
  #2  
Antiguo 05-02-2008
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
Nunca he hecho nada parecido, en el enlace que te puse usan ADO para la conexión.
Lo que se me ocurre es usar la información que trae el dataset de ado y de ahí pasarla a la base de datos, otra forma seria usar las celdas del dbgrid, creo que esto depende de lo que se quisiera hacer, que datos incorporar en que orden etc.
No me hagas mucho caso, esperemos a ver si algún maestro nos ayuda.
Saludos
Responder Con Cita
  #3  
Antiguo 05-02-2008
MARLON1 MARLON1 is offline
Miembro
 
Registrado: nov 2007
Posts: 118
Poder: 17
MARLON1 Va por buen camino
guardar en la bd!!!!!

hola se que ya llevo mucho tiempo con este problema pero en verdad como les dije antes soy muy novato en delphi les pongo el codigo que tengo con este codigo ya puedo vizualizar los datos de un archivo .xls en un dbgrid pero nose como guardarlos en mi bd, tengo un pequeño codigo que encontre pero no me los guarda en la tabla, para la conexion a excel utiliza un adoconection,adotable y un data acces, y para guardar los datos estoy intentandolo hacer con un query espero y me puedan dar una solucion mil gracias....


unit Unit4;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Buttons, StdCtrls, ExtCtrls, DB, ADODB, Grids, DBGrids, DBTables;
type
TForm4 = class(TForm)
Panel1: TPanel;
Panel2: TPanel;
Button2: TButton;
SALIR: TBitBtn;
DBGrid2: TDBGrid;
ADOTable1: TADOTable;
ADOConnection1: TADOConnection;
DataSource1: TDataSource;
DataSource2: TDataSource;
Button1: TButton;
Query1: TQuery;
procedure Button2Click(Sender: TObject);
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form4: TForm4;
implementation
uses Unit1;
{$R *.dfm}
procedure TForm4.Button2Click(Sender: TObject);
begin
// conectar y obtener datos
ADOTable1.Open;
end;
procedure TForm4.Button1Click(Sender: TObject);
begin
with form1 do
begin

if Form4.ModalResult = mrOK then begin
DBGrid2.DataSource.DataSet.First;While not (DBGrid2.DataSource.DataSet.Eof) Do
Begin
Query1.Close;
Query1.SQL.Clear;
Query1.SQL.Add('INSERT INTO cliente (clavecliente, nombre, apellido,direccion,telefono,CP,RFC,clavemaquinaria)');
Query1.SQL.Add('VALUES (:cla, :nom, :ape, :dir, :tel, :c, :r, :ma)');
Query1.ParamByName('cla').Value:=DBGrid2.DataSource.DataSet.FieldByName('clavecliente').value;
Query1.ParamByName('nom').Value:=DBGrid2.DataSource.DataSet.FieldByName('nombre').value;
Query1.ParamByName('ape').Value:=DBGrid2.DataSource.DataSet.FieldByName('apellido').value;
Query1.ParamByName('dir').Value:=DBGrid2.DataSource.DataSet.FieldByName('direccion').value;
Query1.ParamByName('tel').Value:=DBGrid2.DataSource.DataSet.FieldByName('telefono').value;
Query1.ParamByName('c').Value:=DBGrid2.DataSource.DataSet.FieldByName('CP').value;
Query1.ParamByName('r').Value:=DBGrid2.DataSource.DataSet.FieldByName('RFC').value;
Query1.ParamByName('ma').Value:=DBGrid2.DataSource.DataSet.FieldByName('clavemaquinaria').value;
Query1.ExecSQL;
DBGrid2.DataSource.DataSet.Next;
End;
end;
end;
end;
end.
Responder Con Cita
  #4  
Antiguo 05-02-2008
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
Y que te guarda, nada, una linea, te da algun error?
Te lo digo por que no entiendo el codigo, si dices que usas ado, como puedes hacer esto:
Código Delphi [-]
Query1.ParamByName('cla').Value:=DBGrid2.DataSource.DataSet.FieldByName('clavecliente').value;
Cuando seria esto:
Código Delphi [-]
ADOQuery1.parameters.ParamByName('cla').Value:=DBGrid2.DataSource.DataSet.FieldByName('clavecliente'  ).value;
o esto:
Código Delphi [-]
ADOQuery1.parameters[0].Value:=DBGrid2.DataSource.DataSet.FieldByName('clavecliente').value;
[/delphi]
La parte del dbgrid no la entiendo muy bien, se que se hace un recorrido al dataset pero no se si hara lo que quieres.
Sigue, no te desesperes ya aparecera alguien con la solucion.
Saludos
Responder Con Cita
  #5  
Antiguo 05-02-2008
keyboy keyboy is offline
Miembro
 
Registrado: oct 2004
Posts: 367
Poder: 20
keyboy Va por buen camino
Yo comenzaría agregando alguna etiqueta al código de arriba porque así es ilegible. Después me olvidaría del DBGrid. Si lo que quieres es transferir datos de una hoja de Excel a alguna base de datos, el DBGrid sale sobrando: si lo tienes conectado al ADOTable, entonces nota que DBGrid.DataSource.DataSet no es más que un camino largo para referirte al mismo ADOTAble. Por último, ayudaría que dijeras cuál es la base destino. Por ejemplo, si es Access o Paradox, te conviene más usar un Table que un Query. Otro tipo de bases de datos, como MySQL, permiten inserciones múltiples en una sóla consulta SQL, por lo que te convendría más un sólo Exec. En fin, que si das más detalles, sería más fácil.

Bye
Responder Con Cita
  #6  
Antiguo 06-02-2008
MARLON1 MARLON1 is offline
Miembro
 
Registrado: nov 2007
Posts: 118
Poder: 17
MARLON1 Va por buen camino
hola

estoy usando mysql, el problema es que no puedo almacenar los datos de la hoja de excel en la bd, lo unico que eh podido hacer es que los datos de la hoja de excel se muestren en un dbgrid pero no los puedo almacenar ¿me puedes ayudar?
gracias a todos por lo anterior.
Responder Con Cita
  #7  
Antiguo 06-02-2008
MARLON1 MARLON1 is offline
Miembro
 
Registrado: nov 2007
Posts: 118
Poder: 17
MARLON1 Va por buen camino
Red face

Cita:
Empezado por keyboy Ver Mensaje
Yo comenzaría agregando alguna etiqueta al código de arriba porque así es ilegible. Después me olvidaría del DBGrid. Si lo que quieres es transferir datos de una hoja de Excel a alguna base de datos, el DBGrid sale sobrando: si lo tienes conectado al ADOTable, entonces nota que DBGrid.DataSource.DataSet no es más que un camino largo para referirte al mismo ADOTAble. Por último, ayudaría que dijeras cuál es la base destino. Por ejemplo, si es Access o Paradox, te conviene más usar un Table que un Query. Otro tipo de bases de datos, como MySQL, permiten inserciones múltiples en una sóla consulta SQL, por lo que te convendría más un sólo Exec. En fin, que si das más detalles, sería más fácil.

Bye
hola keyboy, mira el error que me sale al querer guardar los datos de la hoja de excel es:ADOTable.File"clave cliente" not found, pero nose a que se deba ojala y me puedas ayudar gracias.
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
Llamar a excel desde delphi jessie Servers 5 22-12-2010 23:09:02
Formato De Excel Desde Delphi zvf OOP 2 23-02-2007 06:25:17
Formateo desde Delphi a Excel mayte mtz SQL 3 09-08-2006 23:55:45
a excel desde delphi SEBAC_28 Servers 3 21-12-2004 15:47:01
Formato Excel Desde Delphi Bagy Servers 1 22-06-2004 08:45:08


La franja horaria es GMT +2. Ahora son las 15:43:43.


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