使用BatchMove可将一个表中的数据导入Microsoft Text Driver (*.txt; *类型的表中去
解决方案 »
- 有ocx像vcl非可视化控件一样,在编程阶段,只是一个图标,而在运行阶段会自动隐藏不可见。delphi怎样让ocx在运行阶段直接可视化?
- TpagecontrolEx 一个你调试不到的错误;
- 莫名其妙的错误,大家帮帮忙
- c转delphi
- 如何把程序显示到屏幕的最前面?
- 关于Memo类型数据的数据库转移问题
- seek函数seek(0,2)什么意思?
- (转载)进程三级跳,实现在win9x,nt,w2k下进程的深度隐藏,按CTRL+ALT+DEL看不到,用终极防线也看不到
- 请问:在INSTALLSHIELD8中如何给安装程序加上序列号
- 怎样删除MDAC2.7(in win2000)?大家都不懂,还是不想回答,特急,重装MDAC2.6SP1不行!!!!!
- 有谁可以告诉我如何从指定excel文件读出资料
- 请问在DBgrid中移动垂直滚动条的事件是什么。
BatchMove要求有概要文件(.sch),我觉得很烦,也不及会用。不想用BDE,有没有更好的方法实现?比如函数?多谢!
用ADOTable的SaveToFile,保存为.xml,恢复时用LoadFromFile,然后Post
一种存储格式是Binary,一种是XML(虽然不是.txt,应该是明码吧)方法2、用T-SQL实现,不过麻烦些。
1) 生成表 这个到SQL Server里找个表Gernerate SQL Script,照着写就行了。
比如说
var
sl : TStringList;
try
sl := TStringList.Create;
sl.Add('');//这里加上如果表存在,就删除,然后生成表这类的SQL
for i := 0 to DataSet.FieldCount - 1 do begin
Case DataSet.Fields[i].DataType of
ftInteger : sl.Add('');// 找到field的类型及大小
ftString : sl.Add('');
.....
end;
end;
2)先Delete from tablename,
再用Insert tablename(field1,field2...) values(value1,value2....)
while not DataSet.Eof do begin
for i := 0 to DataSet.FieldCount - 1 do begin
Case DataSet.Fields[i].DataType of
......//这里根据不同的数据类型加入field1...,value1....
//ftString类型当中如果有单引号,要替换成双引号
end;
end;
DataSet.Next;
end;
3)sl.SaveToFile('.sql');
4)恢复的时候,用个Query什么的ExecSQL
delphi好像可以实现这一点