谁知道,怎样实现,将表中的数据备份到, 文本文件中。并怎样将其还原回数据库的表中。
比如 表 table_user(username(varchar40),brithday(datetime),sex(varchar 2),age(int 4))
备份到文本文件 user.txt中。怎么实现。
还原怎么还原。
比如 表 table_user(username(varchar40),brithday(datetime),sex(varchar 2),age(int 4))
备份到文本文件 user.txt中。怎么实现。
还原怎么还原。
ODBC中有文本数据库的设置的。
如SQL Server的DTS:
用个memo控键,每查一条记录就往里面加入一条然后memo.saveasfile就可以了。
var
i,j:integer;
tempstring:string;
stringlist:tstringlist;
begin
stringlist:=tstringlist.create;
tempstring:='| ';
table1.first;
while not table1.eof do
begin
for i:=0 to table1.recordcount-1 do
begin
for j:=0 to table1.fieldcount-1 do
begin
tempstring:=tempstring+table1.fields[j].asstring+'| ';
end;
stringlist.Add(tempstring);
tempstring:='| ';
table1.next;
end;
end;
stringlist.savetofile('c:\111.txt');
stringlist.Clear;
tempstring:='';
end;
procedure dbgridtotxt(source:tobject);
procedure tform1.dbgridtotxt(source:tobject);
var
filename:textfile;
dataset:tdataset;
titlestr,valuestr,tempstr:string;
counter:integer;
begin
if (source is tdbgrid)then
dataset:=tdbgrid(source).DataSource.DataSet
else
dataset:=tdataset(source);
if ((dataset.IsEmpty)or(not dataset.Active))then
exit
else
begin
dataset.DisableControls;
dataset.First;
if savedialog1.Execute then
begin
assignfile(filename,savedialog1.FileName);
rewrite(filename);
for counter:=0 to dataset.FieldCount-1 do
titlestr:=titlestr+char(9)+dataset.Fields[counter].DisplayLabel;
titlestr:=trim(titlestr);
writeln(filename,titlestr);
while not dataset.Eof do
begin
valuestr:='';
for counter:=0 to dataset.FieldCount-1 do
begin
tempstr:=dataset.Fields[counter].Text;
valuestr:=valuestr+char(9)+tempstr;
end;
valuestr:=trim(valuestr);
writeln(filename,valuestr);
dataset.Next;
end;
closefile(filename);
end;
dataset.EnableControls;
end;
end;procedure TForm1.Button1Click(Sender: TObject);
begin
dbgridtotxt(dbgrid1);
end;
然后将adoquery的数据插入不就行了
可以发给我吗