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.打开SQLServer
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对象进行数据导入导出,楼主可以去找找这方面的,这个可以程序实现。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)