SaveDialog1를 이용하여 aTABLE의 데이타들을 TXT 파일로 만들었습니다..
그 TXT 파일을 bTABLE에 INSERT하기위한 프로그램 소스를 구할수 없을까염... TXT파일을 DB에 꽂는 프로그램 소스.. 아님 방법이라도..
누구 좀 갈켜 주세염~ 넘 막막하네염~ ㅠ.ㅜ
아참참그리구...
TXT파일을 만드는 과정에서.. 데이타들이 이상하네염...
2개의 자료를 입력해서 만들경우 한개는 두줄 나머지 하나는 한줄 이렇게 생성되염.. 소스 올립니다.. 좀 봐주세염..
그리구.. 생성된 TXT파일 올릴께염..
좀 봐주세염~ ㅠ.ㅜ
procedure TfrmMnuA1.BtnsaveClick(Sender: TObject);
var
xtout : textfile;
xsfname,xsline,xstmp : string;
i,j : integer;
pl : string;
begin
With qryData do
begin
sql.Clear;
sql.add(' SELECT DISTINCT jumin.TNAME, jumin.ADCODE, jumin.TNUM,Cdplace.Haengjung, ');
sql.add(' jumin.BUPINNO, Cdbupin.BupinNM, ');
sql.add(' Cdplace.Sido + '' '' + Cdplace.Gugun + '' '' + Cdplace.Dong + '' '' + Cdplace.Bonbun + ''-'' + Cdplace.Bubun + '' '' + Cdplace.Apt, ');
sql.add(' jumin.SAUPNO, Cdplace.Sangho, ');
sql.add(' jumin.SINYMD, jumin.NAPYMD, jumin.GUIYM, ');
sql.add(' jumin.EDYMD, jumin.NAPGYMD, jumin.SUNAME, jumin.TSTD, ');
sql.add(' jumin.TAMT, jumin.TAAMT, jumin.TTOT, jumin.PTOT, ');
sql.add(' jumin.TPTOT ');
sql.add(' FROM jumin, "Cdbupin.db" Cdbupin, "Cdplace.DB" Cdplace ');
sql.add(' WHERE (jumin.BUPINNO = Cdbupin.BupinNO) ');
sql.add(' AND (jumin.SAUPNO = Cdplace.Saupno) ');
sql.add(' AND (jumin.NAPYMD) = :pNAPYMD ');
parambyname('pNAPYMD').asstring := formatdatetime('yyyymmdd', DateTimePicker1.datetime);
open;
end;
if qryData.Active = false then
begin
Application.MessageBox('저장할 내용이 없습니다.','경고',MB_OK);
exit;
end;
qryData.First;
if qryData.EOF = true then
begin
Application.MessageBox('저장할 내용이 없습니다.','경고',MB_OK);
exit;
end;
xsfname := MakeFileName(1,'C:신고납 프로젝트BarReaderTXTDATA' + 'A' + copy(formatdatetime('yyyymmdd', DateTimePicker1.datetime),5,2) + copy(formatdatetime('yyyymmdd', DateTimePicker1.datetime),7,2)+ '.txt');
try
AssignFile(xtout, xsfname );
Rewrite(xtout);
xsline := '';
if comparestr(copy(xsfname,length(xsfname)-2,3),'TXT') = 0 then
while qryData.EOF = false do
begin
for i:=0 to qryData.FieldCount - 1 do
begin
if i <> qryData.FieldCount - 1 then
xsline := xsline + qryData.Fields[i].AsString + ','
else
xsline := xsline + qryData.Fields[i].AsString;
end;
writeln(xtout,xsline);
qryData.Next;
end
else
while qryData.EOF = false do
begin
for i:=0 to qryData.FieldCount - 1 do
begin
xsTmp := qryData.Fields[i].AsString;
j := qryData.Fields[i].Size;
xsTmp := MakeTxtDB(xsTmp,j);
xsline := xsline + xstmp;
end;
writeln(xtout,xsline);
qryData.Next;
end;
CloseFile(xtout);
except
begin
MessageDlg('파일 생성에 실패하였습니다.',mtError, [mbOk],0);
Exit;
end;
end;
MessageDlg('저장이 성공적으로 이루어졌습니다.. '#13#13+
'파일['+xsfname+']을 생성 하였습니다.',mtInformation, [mbOk],0);
with DELQRY do
begin
sql.clear;
sql.add(' delete from jumin.db ');
sql.add(' where NAPYMD = :pNAPYMD ');
parambyname('pNAPYMD').asstring := formatdatetime('yyyymmdd', DateTimePicker1.datetime);
ExecSQL;
end;
with DELQRY2 do
begin
sql.clear;
sql.add(' delete from sebuhagmok1.db ');
sql.add(' where NAPYMD = :pNAPYMD ');
parambyname('pNAPYMD').asstring := formatdatetime('yyyymmdd', DateTimePicker1.datetime);
ExecSQL;
end;
user_clear;
DateTimePicker1.SetFocus;
end;
function TfrmMnuA1.MakeTxtDB(xscol : string; xscolno : integer) : string;
var
xsTmp : string;
i : integer;
begin
xsTmp := xscol;
xsTmp := xscol + ' ';
setlength(xsTmp,xscolno);
result := xsTmp;
end;
누구 좀 갈켜 주세염~ 넘 막막하네염~ ㅠ.ㅜ
스트링리스트이용 하는 방법...
procedure TForm1.Button1Click(Sender: TObject);;
Var
i:integer;
TempStr : TStringList;
begin
try
TempStr := TStringList.Create;
if OpenDialog1.Execute then //파일Open;
TempStr.LoadFromFile(OpenDialog1.FileName);
With Query1 do
begin
<insert 쿼리부분을 정의>
for i:= 0 to TempStr.Count-1 do
begin
ParmByName('AA').AsString := Copy(TempStr[i],1,1);
<중략>
end;
end;
finally
TempStr.Free;
end;
end;