delphi怎么实现数据库的导入导出!!!

delphi怎么实现数据库的导入导出!!!,第1张

procedure TphoneForm.BitBtn1Click(Sender: TObject)

var

F: Textfile

filename,s,str2,str3,sql:string

begin

//------------判断是否打开文件-------

if opendialog1.Execute and fileExists(opendialog1.FileName) then

begin

filename:=opendialog1.FileName

str2:=ExtractFileDir(filename)//获得路径

str3:=copy(filename,length(str2)+2,length(filename)-length(str2)-1)//获得文件名

//////////////////////导入txt文件第一条数据到数据

AssignFile(F, filename)//将文件名与变量 F 关联

Reset(F)

Readln(F,s)

if s<>'' then

begin

with dm.ADOQuery_temp2 do

begin

Close

SQL.Clear

SQL.Add('insert into temp(phone) values (:a)')

Parameters[0].Value:=s

ExecSQL

end

end

closefile(F)

/////快速导入txt文件,因为这个方法的第一条数据被默认为字段名,所以我才用这么笨的方法

Sql :='insert into temp select * from OpenRowset('+''''+'MSDASQL'+''','+ ''''+'Driver={Microsoft Text Driver (*.txt*.csv)}DefaultDir='+str2+''''+','+''''+'select * from '+str3+''''+')'

with dm.ADOConnection1 do

begin

Connected:=true

Execute(Sql)

end

end

////////////////////////////////////////////////////////////////

end

SQL——>.txt:

procedure TphoneForm.BitBtn2Click(Sender: TObject)

var

F:Textfile

sql,str,filename:string

begin

SaveDialog1.Filter:='*.txt'

if SaveDialog1.Execute then

begin

filename:=SaveDialog1.FileName

AssignFile(F,filename)//关联文件

ReWrite(F)

sql:='select phone from phone '

dm.ADOQuery_phone.Close

dm.ADOQuery_phone.SQL.Clear

dm.ADOQuery_phone.SQL.Add(sql)

dm.ADOQuery_phone.Open

if dm.ADOQuery_phone.RecordCount>0 then

begin

while not dm.ADOQuery_phone.Eof do

begin

str:=dm.ADOQuery_phone.fieldbyname('phone').AsString

Writeln(F,str)//每行写一条数据

dm.ADOQuery_phone.Next

end

Closefile(F)

showmessage('导出完毕!')

end

end

end

TXT->Access:

procedure TForm1.Button2Click(Sender: TObject)

var

ssql:string

begin

sSql := 'select * into form from [TextDatabase=d:\].3.txt'

with AccessConnection do

begin

Connected := True

Execute(sSql)

end

end

Access->txt:

procedure TForm1.Button1Click(Sender: TObject)

var

ssql:string

begin

sSql := 'select * into [TextDatabase=d:\].aaa.txt from form'

with AccessConnection do

begin

Connected := True

Execute(sSql)

end

end

1.打开SQL

Server

Management

Studio,按图中的路径进入导入数据界面。

2.导入的时候需要将EXCEL的文件准备好,不能打开。点击下一步。

3.数据源:选择“Microsoft

Excel”除了EXCEL类型的数据,SQL还支持很多其它数据源类型。

4.选择需要导入的EXCEL文件。点击浏览,找到导入的文件确定。

5.再次确认文件路径没有问题,点击下一步。

6.默认为是使用的WINODWS身份验证,改为使用SQL身份验证。输入数据库密码,注意:数据库,这里看看是不是导入的数据库。也可以在这里临时改变,选择其它数据库。

7.选择导入数据EXCEL表内容范围,若有几个SHEET表,或一个SHEET表中有些数据不想导入,则可以编写查询指定的数据进行导入。点击下一步。

8.选择需要导入的SHEET表,比如在这里将SHEET表名改为price,则导入后生面的SQL数据库表为price$。点击进入下一步。

9.点击进入下一步。

10.在这里完整显示了导入的信息,执行内容,再次确认无误后,点击完成,开始执行。

11.可以看到任务执行的过程和进度。

12.执行成功:可以看看执行结果,已传输1754行,表示从EXCEL表中导入1754条数据,包括列名标题。这样就完成了,执行SQL查询语句:SELECT

*

FROM

price$就可以查看已导入的数据内容。

从Oracle导出成CVS,然后使用ODBC导入到dbf中,不要自己写程序搞。

ODBC导入到dbf中使用外部数据库方式导,在Access中写SQL执行就可以了。

搜索下Access的外部数据库引用方式就知道了。

也可以尝试使用SQLServer的DTS,只要有Oracle和dbf的驱动就可以导了。

曾经做过审计软件的数据采集,我们有使用Ole控制SQLServer的DTS.Package对象进行数据导入导出,楼主可以去找找这方面的,这个可以程序实现。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/6921966.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-30
下一篇 2023-03-30

发表评论

登录后才能评论

评论列表(0条)

保存