type
Tpak=recored
ENTERTIME:string;
EXITTIME:string;
XM:string;
THINGS:string;
end;var
txt:textfile;
str:string;
pak:=tpak;
fileassign(txt,'1.log');
while not fileedof(txt) do
begin
readln(txt,str);//str为一行数据
strtopak(str,pak);//自定义函数把读到的str转到pak;
qry.append;
qry.fieldbyname(ENTERTIME).asstring:=pak.ENTERTIME;
qry.fieldbyname(EXITTIME).asstring:=pak.EXITTIME;
qry.fieldbyname(XM).asstring:=pak.XM;
qry.fieldbyname(THINGS).string:=pak.THINGS;
qry.post;
end;
Tpak=recored
ENTERTIME:string;
EXITTIME:string;
XM:string;
THINGS:string;
end;var
txt:textfile;
str:string;
pak:=tpak;
fileassign(txt,'1.log');
while not fileedof(txt) do
begin
readln(txt,str);//str为一行数据
strtopak(str,pak);//自定义函数把读到的str转到pak;
qry.append;
qry.fieldbyname(ENTERTIME).asstring:=pak.ENTERTIME;
qry.fieldbyname(EXITTIME).asstring:=pak.EXITTIME;
qry.fieldbyname(XM).asstring:=pak.XM;
qry.fieldbyname(THINGS).string:=pak.THINGS;
qry.post;
end;
解决方案 »
- C# code 转成 Delphi code
- fr3的页首页民尾打印
- refresh和query的区别
- Delphi 自动建立文件夹
- 我用BDE数据库,定义了一个短整型字段。在更新这个字段的时候为什么会死机?把里面的内容清空有可以。时好时不好,高手帮帮忙。谢谢了
- 请问如何把delphi 中的 string[200] 数据类型转换为vb 中想对应的类型
- 哪里有介绍,文件钩子的文章或书?????
- Delphi写的COM,用wise作安装,安装时wise会自动注册COM,卸载时候不会注销COM!
- 如果你告诉我是怎么回事,我就给你分
- 有谁介绍一下微软的.NET与DNA方案的区别以及联系。
- 还是Hint问题
- 怎样使程序能在开始时自动启动?请各位大侠指点:-)
unit Unit1;interfaceuses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, Db, DBTables;type
TForm1 = class(TForm)
Query1: TQuery;
btnExport: TButton;
btnImport: TButton;
Database1: TDatabase;
procedure btnExportClick(Sender: TObject);
procedure btnImportClick(Sender: TObject);
private { Private declarations }
public
{ Public declarations }
end;var
Form1: TForm1;implementation{$R *.DFM}
//我测试用的数据库
{create table test(id integer,a1 date,a2 char(10),a3 boolean,
a4 DECIMAL(5,2),a5 NUMERIC(5,3),a6 FLOAT(7,3))}
//字段为空也考虑了procedure TForm1.btnExportClick(Sender: TObject);
var
Txt: TextFile;
i: integer;
begin
assignfile(Txt, '.\aa.log');
if FileExists('.\aa.log') then
append(txt)
else
rewrite(txt);
try
with query1 do
begin
close;
sql.Clear;
Sql.add('select * from test');
open; while not eof do
begin
for i := 0 to query1.FieldCount - 1 do
begin
write(txt, query1.Fields[i].AsString + ';');
end;
writeln(txt);
next;
end;
end;
finally
closefile(txt);
end;end;procedure TForm1.btnImportClick(Sender: TObject);
var
s: string;
stmp: string;
position: integer;
txt: textfile;
// ifield: integer;
i: integer;
begin if not FileExists('.\aa.log') then
begin
messagebox(0, pchar('日志丢失了!'), pchar('出错了'), MB_OK + MB_ICONERROR);
exit;
end;
query1.Close;
query1.SQL.clear;
query1.SQL.Add(' select * from test where 1=0');
query1.RequestLive := true;
query1.Open; assignfile(txt, '.\aa.log');
try
reset(txt); while not eof(txt) do
begin
readln(txt, s);
Position := pos(';', s);
query1.Append;
for i := 0 to query1.FieldCount - 1 do
begin
stmp := copy(s, 1, Position - 1);
if trim(stmp) <> '' then
query1.Fields[i].asstring := stmp;
s := copy(s, position + 1, length(s));
Position := pos(';', s);
end; query1.Post;
end;
finally
closefile(txt);
end;end;end.
关于;
一是把字段里的‘;‘转义就象c里面用'\;'表示 控制起来太麻烦;
2
用tab键把数据库里的tab字符换为空格