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.