关于insertallinto的信息

http://www.itjxue.com  2023-01-20 00:59  来源:未知  点击次数: 

如何用sql语句从excel导入sql中

我做过这个功能,分3步。

第一步,校验Excel的数据是否符合条件,比如不能为空,数据类型不能冲突等等。

第二步,在数据库里创建临时表,表结构跟excel一模一样。把数据从excel照搬到临时表中。

第三步,根据过滤条件,把符合的数据从临时表中insert到对象表中。

//新文件名称

string newfile = name + lastName; //假定excel文件名 最终数据.excel

string strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Server.MapPath("../../File/") + newfile + ";Extended Properties='Excel 8.0;HDR=Yes;IMEX=1;'";

insertTempTable(strConn); //存入临时表 包含第一步和第二步

insertAllTable(); //第三步

/// summary

/// 把数据从xls导入临时创建表

/// /summary

/// param name="conn"/param

public void insertTempTable(string conn)

{

string strConn = conn;

//这里假设excel字段名称为 字段(序号,零件编号,零件名称,数量,价格)

//excel表名称为Matrixkey

string query = "SELECT [序号],[零件编号],[零件名称],[数量],[价格] FROM [Matrixkey$] Where [零件编号] '' ";

OleDbCommand oleCommand = new OleDbCommand(query, new OleDbConnection(strConn));

OleDbDataAdapter oleAdapter = new OleDbDataAdapter(oleCommand);

DataSet PartsDataSet = new DataSet();

oleAdapter.Fill(PartsDataSet, "[Matrixkey$]");

DBAccess dba = DBAccessFactory.CreateAccess(); //这是我的数据库操作类

//存储过程 createtmptable 用来创建临时表 结构跟excel一模一样

dba.ExecuteProcedure("createtmptable");

foreach (DataRow row in PartsDataSet.Tables[0].Rows)

{

if (row["价格"].ToString() == "")

{row["价格"] = "0.00";}

dba.ExecuteInsertSQL(row, "tmpparts"); //执行第2步 创建的临时表叫tmpparts

}

}

/// summary

/// 执行最终的插入存储过程

/// /summary

public void insertAllTable()

{

DBAccess dba = DBAccessFactory.CreateAccess();

//存储过程BuildRelation用来实现第3步 这个就简单了 我写个例子你看看

dba.ExecuteProcedure("BuildRelation");

}

存储过程:BuildRelation

insert into 对象表 --假设对象表字段为 ID No Code Name Quantity Price 其中ID自增

select * from tmpparts

where 零件编号 not in (select Code from tmpparts)

学会了哇?

一条oracle 语句怎么,插入多值

1、你用insert

into只能插入一条记录。

2、如果你插入的东西是其他表中已经存在的,那个是可以的。

3、你用plsql的过程应该有办法一次insert多个值。

oracle中是否可以同时向多个表中插入数据

请描述需求准确些哥们

-----可以一条insert插入多个表,使用insert

all或者insert

first,但是这种插入,有限制,就是插入的values必须从select出的data中获取,比如,insert

all

into

stu

values(id,name)

into

class(id)

values(id)

select

id,name

from

stu;这个select关键字在insert

all和insert

first中必须存在,具体使用方法可以查oracle手册或者直接百度。

(责任编辑:IT教学网)

更多

推荐照片处理文章