怎么把一个数据库表的字段导入到另一张数据库表中?

怎么把一个数据库表的字段导入到另一张数据库表中?,第1张

数据A

表A1

数据库B为例

表B1

将A数据库中A1表导入到B数据库B1表中

SQL

SERVER

在B数据库下

打开查询分析器

INSERT

INTO

B1(B1.COL1,B1.COL2)

SELECT

A1.COL1,A1.COL1

FROM

A.DBO.A1

WHERE

条件

F5

就完成了。

ORALCE

INSERT

INTO

B1@数据库database

link(B1.COL1,B1.COL2)

SELECT

A1.COL1,A1.COL1

FROM

A1@数据库database

link

WHERE

条件

以下是完整的导入数据的代码:这个要求就是需要使EXCEL的标题和数据窗口的标题对应,EXCEL从第二行开始导入。如果是某些内容,那么要换一种别的方式。

string str_savename,named

int excelok,li_net

oleobject excelserver

excelserver=create oleobject

excelok=excelserver.connecttonewobject("excel.application")

//检查返回值,以确保已成功地连接到了Excel

if excelok <>0 then

messagebox("信息提示","连接EXCEL失败,请检查计算机中是否安装了EXCEL!")

return

end if

li_net = GetFileOpenName("选择文件", str_savename,named,"xls","Excel文件(*.xls),*.xls")

if li_net >0 then

if str_savename = "" then return

excelserver.workbooks.open(str_savename)

excelserver.activesheet.cells.copy

dw_1.importclipboard(2) //导入数据 dw_1是数据窗口名字,改成你的名字

clipboard("")

excelserver.quit()

excelserver.disconnectobject()

destroy excelserver

end if

如果只导入EXCEL的某些内容,可以用如下代码:

string ls_tmp

IF GetFileOpenName("选择文件 ", ls_Path, ls_File, "XLS", "Excel Files (*.XLS),*.XLS, Comma-separated values (*.CSV),*.csv") <0 THEN

Messagebox('文件导入', '获取文件失败!', StopSign!)

return

END IF

// === 判断档案是否存在

IF FileExists(ls_Path) = False THEN return

// === 判断是否为Excel档案

IF Lower(Right(ls_Path, 4)) <>'.xls' AND Lower(Right(ls_Path, 4)) <>'.csv'THEN

MessageBox('文件导入', '并非可选择的文件!', StopSign!)

return

END IF

oXls = CREATE OleObject

ll_Xls = oXls.ConnectToObject('','excel.application')

CHOOSE CASE ll_Xls

Case -5

// === 文件还没打开

oXls.ConnectToNewObject('excel.application')

Case Is <0

DESTROY oXls

MessageBox('文件导入', '无法开启指定的文件!', StopSign!)

return

END CHOOSE

Long ll_Row, curRow

Decimal ld_Tmp

curRow = 2 //设置从EXCEL的第二行开始导入

oBook = oXls.WorkBooks.Open(ls_Path)

oSheet = oXls.Sheets(1)

DO WHILE True

ls_value = oSheet.Cells(curRow, 1).Value //读取excel的内容放到变量中,cells(行,列)

IF ls_value = '' THEN Exit //如果遇到空,表示已经导入完成

ll_Row = dw_1.InsertRow(0) //给数据窗口增加行

dw_1.setitem() ...

curRow ++

LOOP

oBook.Close

DESTROY oSheet

DESTROY oBook

IF ll_Xls = -5 THEN oXls.Application.Quit

oXls.DisConnectObject()

DESTROY oXls

ASP.NET中将Excel表中的数据导入到数据库中的方法是利用可视化界面工具直接选择字段映射导入。

1)接受数据导入的表已经存在。

insert into t1 select * from OPENROWSET('MICROSOFT.JET.OLEDB.4.0' ,

'Excel 5.0HDR=YESDATABASE=c:\\test.xls',sheet1$)

2)导入数据并生成表。

select * into t1 from OPENROWSET('MICROSOFT.JET.OLEDB.4.0',

'Excel 5.0HDR=YESDATABASE=c:\\test.xls',sheet1$)

3) 导入Excel中指定的列到数据库表中指定的列。

INSERT INTO t1(a1,a2,a3) SELECT a1,a2,a3 FROM OPENROWSET'MICROSOFT.JET.OLEDB.4.0' ,'Excel5.0HDR=YESDATABASE=c:\\test.xls',sheet1$)

需要注意的地方。

1)外围应用配置器的设置。

从“功能外围应用配置器”中选择“启动 OPENROWSET 和 OPENDATASOURCE 支持”选项。

2)关闭Excel表。

如果在导入时要导入的Excel表格处于打开状态,会提示:

“无法初始化链接服务器 "(null)" 的 OLE DB 访问接口 "microsoft.jet.oledb.4.0" 的数据源对象。”

3)导入数据时,Excel的首行会作为表头,若导入到已存在的数据库表,则忽略首行。


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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存