《项目经验》--简单三层使用DataTable向数据库表批量导入数据---向SqlServer一张表中导入数据
向数据库的一张表中添加数据,可以采用单个添加,即一条数据、一条数据的添加;也可以采用批量导入,依次将好些条数据写入数据库的一张表中。文本借助实例《添加系列信息》讲解一种向数据库批量导入数据的方法。
观看一下添加系列信息部分的界面设计:
本文主要介绍批量导入系列信息的实现,单个添加的实现不在此文讲解之列!
2.框架结构此项目的实现,我采用简单的三层,看一下项目框架
下面逐层介绍每层实现:
3.1 SqlHelper数据库助手类中添加向数据库表导入数据的方法(SqlHelper.cs)
/************************************************* 作者:jql小组:一中考核系统 说明:把excel转化为datatable创建日期:2012年11月25日14:17:06版本号:v1.0版权所有:信息技术提高班**********************************************/using System;using System.Collections.Generic;using System.Linq;using System.Text;//引用各命名空间using System.Data;using System.Data.OleDb;using System.Data.SqlClient;namespace BLL{ public class MgrCreateExcelData { public MgrCreateExcelData() { } /// <summary> /// 传入excel路径,转换为datatable /// </summary> /// <param name="url"></param> /// <returns></returns> public DataTable CreateExcelDataSource(string url) { DataTable dt = null; // string connetionStr = "Provider=Microsoft.Ace.OleDb.12.0;" + "Data Source=" // +url + ";" + "Extended Properties='Excel 8.0;HDR=Yes;IMEX=1';"; //获得excel数据 string connetionStr = "Provider=Microsoft.Jet.OleDb.4.0;" + "data source=" + url + ";Extended Properties='Excel 8.0; HDR=YES; IMEX=1'"; string strSql = "select * from [Sheet1$]"; OleDbConnection oleConn = new OleDbConnection(connetionStr); OleDbDataAdapter oleAdapter = new OleDbDataAdapter(strSql, connetionStr); try { //把excel数据填充给datatable dt = new DataTable(); oleAdapter.Fill(dt); return dt; } catch (Exception ex) { throw ex; } finally { oleAdapter.Dispose(); oleConn.Close(); oleConn.Dispose(); } } }}
至此向数据库批量导入数据就实现了,如果你想对要导入数据库的数据做合法性判断,执行Excel转换成Datatable时,自己加些判断处理就行了!
下面这篇文章介绍了向数据库多张表批量导入数据的实现:《项目经验---简单三层使用DataTable向数据库表批量导入数据---向SqlServer多张张表中导入数据》!
- 1楼tcl_6666昨天 15:03
- 我是娟姐忠实的粉丝