Saludos
En un anterior hilo pregunte si era posible llenar una tabla (socios) con datos de un archivo txt y Neftali me respondio:
Cita:
Empezado por Neftali
(1) Sí.
(2) Básicamente se trata de ir leyendo la información del Archivo de texto (previamente cargado en un TStrings, por ejemplo) y luego ir haciendo Insert/Update (vía TTable o TQuery) en la tabla.
|
Siguiendo su consejo (el cual agradezco mucho) y algunas cosas que investigué por mi cuenta utilicé un Tmemo donde cargo el contenido del archivo txt para ir leyendo la información y un Tquery para hacer el llenado de la tabla (porque me pareció el metodo más facil para mi que soy totalmente nuevo en delphi
)
Resumiendo me salió el siguiente código
Código Delphi
[-]
procedure TfrmNumeroUno.iM1Click(Sender: TObject);
var y,d,a,ci,num,nom,cat:string;i,j,x,k:integer;
v: array [1..4] of string;
begin
query1.Close;
Query1.ExecSql;
frmNumeroUno.Memo1.Lines.Clear;
frmNumeroUno.OpenDialog1.Title:='Exportacion de Socios'; frmNumeroUno.OpenDialog1.DefaultExt:='.txt';
frmNumeroUno.OpenDialog1.InitialDir:='C:\windows\escritorio\BD';
frmNumeroUno.OpenDialog1.Execute;
frmNumeroUno.Memo1.Lines.Clear;
frmNumeroUno.Memo1.Lines.LoadFromFile(frmNumeroUno.OpenDialog1.FileName); y:='';
for i:=0 to frmNumeroUno.Memo1.Lines.Count do begin
x:=1;
d:='';
for k:=1 to 4 do begin
v[k]:=''; end;
y:=frmNumeroUno.Memo1.Lines.Strings[i];
for j:=1 to length(y) do
begin
if y[j]<>'|' then
begin
d:=d+y[j];
end
else
begin
v[x]:=d;
inc(x);
a:=d;
d:='';
end;
end;
ci:=v[1]; num:=v[2]; nom:=v[3]; cat:=v[4]; frmNumeroUno.Query2.SQL.Clear;
frmNumeroUno.Query2.SQL.Add('insert into socios (ci,Ncta,Nombres,Calf) values('+ci+','+num+','+nom+','+cat+')');
Query2.Close;
frmNumeroUno.Query2.Active:=true;
Query2.ExecSql;
end
end;
El problema es que en tiempo de ejecución me sale el siguiente error
"Project miproyecto.exe raised exception class EDBEngineError whyt message Invalid use of keyword"
o sea me da error al encontrar un espacio en blanco dentro del texto.
¿Que me falta?
¿que me sobra?
¿Que hice mal? Alguien me puede aconsejar
Les agradezco de antemano su ayuda