在WEB项目开发过程中有时会碰到批量插入数据到数或者是将EXCEL文件据入到数据库中.为了方便实现可以先将EXCEL导入到GRIDVIEW中然后一次批量插入.实现代码如下:

前台代码

后台代码:

//首先在命名空间中加入以下两行

using System.Data.SqlClient;

using System.Data.OleDb;

protected void btn2_Click(object sender, EventArgs e)

{

string filepath = FileUpload1.PostedFile.FileName;

ReadExcel(filepath, dgBom);

}

public void ReadExcel(string sExcelFile, GridView dgBom)

{

DataTable ExcelTable;

DataSet ds = new DataSet();

//Excel的连接

OleDbConnection objConn = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + sExcelFile + ";" + "Extended Properties=Excel 8.0;");

objConn.Open();

DataTable schemaTable = objConn.GetOleDbSchemaTable(System.Data.OleDb.OleDbSchemaGuid.Tables, null);

string tableName = schemaTable.Rows[0][2].ToString().Trim();//获取 Excel 的表名,默认值是sheet1

string strSql = "select * from [" + tableName + "]";

OleDbCommand objCmd = new OleDbCommand(strSql, objConn);

OleDbDataAdapter myData = new OleDbDataAdapter(strSql, objConn);

myData.Fill(ds, tableName);//填充数据

dgBom.DataSource =ds;

dgBom.DataBind();

objConn.Close();

ExcelTable = ds.Tables[tableName];

int iColums = ExcelTable.Columns.Count;//列数

int iRows = ExcelTable.Rows.Count;//行数

//定义二维数组存储 Excel 表中读取的数据

string[,] storedata = new string[iRows, iColums];

for(int i=0;i

for (int j = 0; j < ExcelTable.Columns.Count; j++)

{

//将Excel表中的数据存储到数组

storedata[i, j] = ExcelTable.Rows[i][j].ToString();

}

int excelBom = 0;//记录表中有用信息的行数,有用信息是指除去表的标题和表的栏目,本例中表的用用信息是从第三行开始

//确定有用的行数

for (int k = 2; k < ExcelTable.Rows.Count; k++)

if (storedata[k, 1] != "")

excelBom++;

if (excelBom == 0)

{

Response.Write("");

}

else

{

//LoadDataToDataBase(storedata,excelBom)//该函数主要负责将 storedata 中有用的数据写入到数据库中,在此不是问题的关键省略

}

}

protected void btninsert_Click(object sender, EventArgs e)

{

foreach (GridViewRow gv in dgBom.Rows)

{

//我的连接字符串是写在WEB.CONFIG中的.

string con = System.Configuration.ConfigurationManager.AppSettings["ConnectionString1"].ToString();

SqlConnection conn = new SqlConnection(con);

SqlCommand cmd = conn.CreateCommand();

cmd.CommandType = CommandType.Text;

cmd.CommandText = "insert into student (studentnumber,studentname) values(@studentnumber,@studentname)";

cmd.Parameters.Add("@studentnumber", SqlDbType.NVarChar, 20);

cmd.Parameters.Add("@studentname", SqlDbType.NVarChar, 10);

cmd.Parameters["@studentname"].Value = ((TextBox)gv.FindControl("studentname")).Text;

cmd.Parameters["@studentnumber"].Value = ((TextBox)gv.FindControl("studentnumber")).Text;

try

{

conn.Open();

cmd.ExecuteNonQuery();

conn.Close();

}

finally

{

if (conn != null)

conn.Dispose();

}

}

}

以上内容就是本文的全部叙述,希望对大家学习C#.NET中如何批量插入大量数据到数据库中有所帮助。

c 批量导入mysql数据库_C#.NET中如何批量插入大量数据到数据库中相关推荐

  1. python批量导入MySQL的表头、扩展插入(datetime)类型主键

    python批量导入MySQL的表头 .扩展插入(datetime)类型主键 目标:1.在EXCEL中编辑table name.数据格式.数据类型和备注等信息,把excel中col_1列的值作为表头, ...

  2. 将Excel表格数据批量导入MySQL数据库表中

    在实际的生产开发需求中很多时候生产数据不一定是通过数据库进行导入,而是通过Excel表格的形式传入形式,这时候需要程序员进行自动化的导入. 手动导入数据库,效率相对来说太慢,因此需要使用技巧,实现批量 ...

  3. 用java把通达信导出的交易记录文件高速批量导入mysql数据库

    有段时间需要把通达信的交易记录导入到mysql数据库,主要是1分钟和5分钟数据.对比测试过innoDB和MyISAM引擎,不论从数据访问速度还是数据文件空间占用上比较,MyISAM都大占优势. Mys ...

  4. c excel批量导入mysql数据库_Excel批量导入数据库

    在上个系统中需要用到Excel整体导入的功能整体的核心思路如下: 1.首先将需要导入的Excel上传至服务器 2.为了避免文件名重复,重命名上传的Excel文件 3.将上传的Excel文件读入Data ...

  5. 通过jsp向mysql批量导入数据_对大数据的批量导入MySQL数据库

    自己的库里有索引在用insert导入数据时会变慢很多 使用事务+批量导入 可以配置使用spring+mybatis整合的方式关闭自动提交事务(地址),选择批量导入每一百条导入使用list存储值传入到m ...

  6. idea中连接mysql插入成功数据 在navicat中刷新表格没有数据_第九篇 数据分析的进阶学习-SQL入门...

    1.SQL的学习阶段 1.1 背景 随着互联网的不断发展,数据的不断累积,现在单单使用Excel已经不能满足数据分析的需求了,因此作为一个数据分析工作者,掌握Excel是基础,而SQL作为主流数据库查 ...

  7. ASP.NET数据库访问系列教程01-概述篇 创建数据访问层(中)

    ASP.NET数据库访问系列教程 本教程深入探讨了基于ASP.NET 2.0技术的数据库访问方法和模式.这些介绍非常简明,并且提供了一步步的指导和大量的截屏. 该系列教程包括: 概述篇 基础报表 主/ ...

  8. mysql的存储模型_一种BIM模型数据的数据库存储格式的制作方法

    本发明涉及建筑BIM技术领域,特别涉及一种BIM模型数据的数据库存储格式. 背景技术: 在Revit文件的数据格式中,有的遗漏数据,如FBX:有的封闭不够开放,如IFC:有的涉及操作比较复杂的数据库, ...

  9. php 批量导入关键词,帝国cms7.0版本TAGS批量添加.TAGS批量复制到关键词的教程

    e/class/userfun.php添加函数 //批量复制TAGS到关键词 function eCopyTag2Key($classid,$id,$newstime){ global $empire ...

最新文章

  1. html隐藏目录在哪里查找,使用Dirsearch查找隐藏目录
  2. Linux学习之系统编程篇:进程回收(wait / waitpid)
  3. alphogo 理解
  4. Windows 编程[10] - WM_LBUTTONDOWN、WM_LBUTTONUP 和 WM_MOUSEMOVE 消息
  5. 你的公司,远程办公多久了?
  6. [Python笔记]第一篇:基础知识
  7. 非法关机 mysql_转 mysql数据库非法关机铁血教训
  8. 心语收集7:这就是人生,不要只顾着往前冲,要记得看看周围的景色,要想着你能留下点什么。...
  9. php随机生成验证图片,php 生成随机验证码图片代码
  10. matlab之GUI界面设计(1)
  11. 网页设计与制作(HTML+CSS)
  12. 银行客户用户画像_客户分类、客户标签与用户画像,怎样助力转化?
  13. 常见的虚拟化软件及其特点。
  14. C# 串口通讯 串口调试助手源码
  15. Leetcode 037 解数独 思路详解 python
  16. 中文文案排版指北(转自GitHub)
  17. html图片缩小属性,CSS属性实现同比例缩小图片
  18. golang:%v,%+v,%#v的区别
  19. 没用户、没技术,炒了这么久的区块链游戏似乎找到了一条新思路
  20. 外键 ‘FK__ICBCCard__CardID__3E1D39E1‘ 引用了位于被引用表 ‘StudentCard‘ 中的无效列 ‘CardID‘。

热门文章

  1. container_of(ptr, type, member)宏定义解析
  2. Android 4.0 Notification
  3. SFTP连接GCP,向服务器发送文件方法,第三方工具生成密钥对连接GCP服务器(putty生成密钥远程连接服务器)...
  4. 基于linux的ARM设备升级,烧写Nand flash总结
  5. Windows编译OpenSSL
  6. python学习笔记 - StringIO以及BytesIO
  7. zabbix企业应用之bind dns监控(转)
  8. HDU 2041 超级楼梯
  9. android,iOS,win8我的观点
  10. 一个合格网络管理员的成长经历