txt档转回sql server中的table |
尚未結案
|
luowy651
高階會員 發表:257 回覆:313 積分:114 註冊:2003-04-09 發送簡訊給我 |
|
danielldf
一般會員 發表:44 回覆:60 積分:20 註冊:2003-05-12 發送簡訊給我 |
我的方法可能有點笨,但應該可以實現您需要的功能,供參考
procedure TForm1.Button1Click(Sender: TObject);
var
i: Integer;
BoxNo: variant;
MsExcel, MsExcelWorkBook, MsExcelWorkSheet: Variant;
begin
MsExcel := CreateOleObject('Excel.Application');
MsExcelWorkBook := msExcel.Workbooks.Open('e:\02.txt');
MsExcelWorkSheet := msExcel.Worksheets.Item[1];
Table1.Open;
try
for i := 1 to MsExcelWorkSheet.Rows.Count do
begin
BoxNo := MsExcelWorkSheet.Range['a' IntToStr(i)].Value;
if BoxNo <> '' then
begin
Table1.Append;
Table1.FieldByName('cardno').Value := copy(BoxNo, 1, 6);
Table1.FieldByName('occurtime').AsDateTime := strtodatetime(copy(boxno, 8, 24));
Table1.Post;
end
else
exit;
end;
finally
showmessage('處理完畢');
end;
Table1.Close;
MsExcel.Quit;
end; 努力过,还有什么遗憾呢!
|
yachanga
資深會員 發表:24 回覆:335 積分:296 註冊:2003-09-27 發送簡訊給我 |
引言: 求教各位大大: 小弟可以做到用程式将adotable或dbgrid中的资料转出为txt档,但请问如何才能将转出的txt档再转回sql server中的table中呢(用程式实现)? 小弟使用delphi6,ado,sql server Thank you very mcuh!您好 可參考天使的範例 DB<-> TXT http://delphi.ktop.com.tw/topic.php?TOPIC_ID=22274 procedure TForm1.BitBtn2Click(Sender: TObject); var i:integer; s,s2,s3,s4:string; F:TextFile; ws:string; begin if OpenDialog1.Execute then begin DataBase1.Connected:=false; DataBase1.AliasName:=combobox1.text; DataBase1.Connected:=true; if MessageDlg('請問要將資料表清空嗎?', mtConfirmation, [mbYes, mbNo], 0) = mrYes then begin Query1.close; Query1.sql.text:='DELETE FROM ' combobox2.text; try Query1.execsql; except ShowMessage('資料表刪除失敗'); exit; end; end; SaveDialog1.InitialDir:=ExtractFilePath(OpenDialog1.filename); AssignFile(f,OpenDialog1.filename); reSet(f); while not eof(f) do begin Readln(f,s); s:=s; ws:=s; s2:='INSERT INTO ' combobox2.text ' VALUES('; s4:=''; for i:=1 to length(ws) do begin s3:=ws[i]; if s3=#9 then begin s2:=s2 AnsiQuotedStr(s4,'''') ','; s4:=''; end else begin s4:=s4 s3; end; end; s2:=s2 AnsiQuotedStr(s4,'''') ')'; Query1.close; Query1.sql.text:=s2; caption:=s2; try Query1.execsql; except ShowMessage('Error:' s2); end; end; CloseFile(f); end; Query1.close; end;~悠遊法國號~ |
luowy651
高階會員 發表:257 回覆:313 積分:114 註冊:2003-04-09 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |