SQL Server 和 Access 数据导入导出
扫描二维码
随时随地手机看文章
见很多新入门学编程的朋友,都问同一个问题,现在把我个人开发中用到的方法公布如下,您有好的想法请多多交流。
一、下面是用存储过程导入ACCESS数据到SQL SERVER数据库,代码少。
CREATE PROCEDURE PPED
@TN varchar(50)
AS
select * into #temp1 from Opendatasource('Microsoft.Jet.OLEDB.4.0','Data Source="D:/Excel2007/28.xls";Extended Properties=Excel 5.0;Persist Security
Info=false')...sheet1$
select 序号 as orderNO,货号 as ProductNO,品名 as ProductName ,规格 as Specification ,单位 as Unit,数量 as Quantity,完成 as finished,备注 as Remark from #temp1
二、一、下面是用存储过程导出SQL SERVER 数据到数据库 ACCESS,在Delphi7 里写代码比较少。
导出EXCEL:
procedure OuttoExcel4(const sFileName:string;sDataSet:TDataSet;Grid:TDBGrid);
procedure OuttoExcel4(const sFileName:string;sDataSet:TDataSet;Grid:TDBGrid);
var
v: variant;
i,j: integer;
begin
v := CreateOLEObject('Excel.Application');
v.WorkBooks.Add;
v.Visible := True;
Application.BringToFront;
try
try
sDataSet.DisableControls;
for i:=0 to Grid.FieldCount-1 do
begin
v.goto('R1'+'C'+IntToStr(i+1));
v.ActiveCell.FormulaR1C1 := Grid.Columns[i].Title.Caption;
end;
j:=2;
sDataSet.First;
while not sDataSet.Eof do
begin
for i:=0 to Grid.FieldCount-1 do
begin
v.goto('R'+IntToStr(j)+'C'+IntToStr(i+1));
v.ActiveCell.FormulaR1C1 := sDataSet.FieldByName(Grid.Columns[i].fieldname).AsString;
end;
sDataSet.Next;
j:=j+1;
end;
except
end;
finally
sDataSet.First;
sDataSet.EnableControls;
v.quit;
end;
end;
以上代码在 Delphi7+SQL Server2000 中编译通过。