网站项目策划书模板,手机能做网站吗,页面设计软件有哪些,商业案例网站向数据库的一张表中添加数据#xff0c;可以采用单个添加#xff0c;即一条数据、一条数据的添加#xff1b;也可以采用批量导入#xff0c;依次将好些条数据写入数据库的一张表中。文本借助实例《添加系列信息》讲解一种向数据库批量导入数据的方法。1.界面设计观看一下添…向数据库的一张表中添加数据可以采用单个添加即一条数据、一条数据的添加也可以采用批量导入依次将好些条数据写入数据库的一张表中。文本借助实例《添加系列信息》讲解一种向数据库批量导入数据的方法。1.界面设计观看一下添加系列信息部分的界面设计本文主要介绍批量导入系列信息的实现单个添加的实现不在此文讲解之列2.框架结构此项目的实现我采用简单的三层看一下项目框架3.批量导入数据的实现下面逐层介绍每层实现3.1 SqlHelper数据库助手类中添加向数据库表导入数据的方法(SqlHelper.cs)#region 批量导入datatable/// /// 批量导入datatable/// /// 数据表/// 数据表名/// 列集合public int InsertTable(DataTable dt, string TabelName, DataColumnCollection dtColum){//打开数据库GetConn();try{//声明SqlBulkCopy ,using释放非托管资源using (SqlBulkCopy sqlBC new SqlBulkCopy(conn)){//一次批量的插入的数据量//sqlBC.BatchSize 1000;//超时之前操作完成所允许的秒数如果超时则事务不会提交 数据将回滚所有已复制的行都会从目标表中移除//sqlBC.BulkCopyTimeout 60;//設定 NotifyAfter 属性以便在每插入10000 条数据时呼叫相应事件。//sqlBC.NotifyAfter 10000;// sqlBC.SqlRowsCopied new SqlRowsCopiedEventHandler(OnSqlRowsCopied);//设置要批量写入的表sqlBC.DestinationTableName TabelName;//自定义的datatable和数据库的字段进行对应for (int i 0; i dtColum.Count; i){sqlBC.ColumnMappings.Add(dtColum[i].ColumnName.ToString(), dtColum[i].ColumnName.ToString());}//批量写入sqlBC.WriteToServer(dt);}//导入成功返回1return 1;}catch{//导入失败返回-1return -1;}finally{//关闭数据库conn.Close();}}#endregion3.2.DAL层批量导入数据的代码(DaoSeries.cs)#region 批量导入系列信息/// /// 批量导入系列信息/// /// DataTable数据表-dt/// DataColumnCollection 列集合-dtColum/// 整数:大于0代表导入成功否则导入失败public int ImportDatatable(DataTable dt, DataColumnCollection dtColum){//定义一个整型标记变量int result;//调用sqlHelper的批量导入datatable表的方法result sqlheler.InsertTable(dt, T_SeriesInfo, dtColum);//返回结果return result;}#endregion3.3.BLL层批量导入数据的代码(MgrSeriesManager.cs)#region 批量导入系列/// /// 批量导入系列/// /// 数据表/// 数据列集合/// 整数大于0代表导入成功否则导入失败public int ImportDatatable(DataTable dt, DataColumnCollection dtColum){DaoSeries seriesnew DaoSeries();return series.ImportDatatable(dt, dtColum);}#endregion3.4.界面层构造DataTable数据向BLL层传递(FrmSeriesManager.aspx,FrmSeriesManager.aspx.cs)这里构造DataTable数据我是采用从界面上传Excel然后从Excel获取输入然后存入DataTable的3.4.1 从界面传入Excel调用BLL层Excel转换成DataTable的方法实现#region 批量导入系列/// /// 批量导入系列/// protected void btnImportSeries_Click(object sender, EventArgs e){//BLL层添加系列信息类MgrSeriesManager series new MgrSeriesManager();//BLL层把excel转化为datatable的方法MgrCreateExcelData createExcelData new MgrCreateExcelData();//获取上传文件地址string url fupImprotSeries.PostedFile.FileName.ToString();if (url ){//数据源为空弹出提示请选择Excel文件Page.ClientScript.RegisterStartupScript(Page.GetType(), message, );return;}string urlLocation url.Substring(url.LastIndexOf(\\) 1);//获取文件名DataTable dt;//在系统中建文件夹up,并将excel文件另存this.fupImprotSeries.SaveAs(Server.MapPath(~\\up) \\ urlLocation);//记录文件名到服务器相对应的文件夹中// Response.Write(urlLocation);//获得文件路径string strpath Server.MapPath(~\\up) \\ urlLocation;//string strpath c:\\abc.xls;// Response.Write(strpath);//把excel转换为datatabledt createExcelData.CreateExcelDataSource(strpath);DataColumnCollection dcc dt.Columns;//导入数据库int i series.ImportDatatable(dt, dcc);if (i 0){Page.ClientScript.RegisterStartupScript(Page.GetType(), message, );}else{Page.ClientScript.RegisterStartupScript(Page.GetType(), message, );}}#endregion3.4.2 BLL层Excel转换成DataTable的类(MgrCreateExcelData.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(){}/// /// 传入excel路径转换为datatable/// /// /// public DataTable CreateExcelDataSource(string url){DataTable dt null;// string connetionStr ProviderMicrosoft.Ace.OleDb.12.0; Data Source// url ; Extended PropertiesExcel 8.0;HDRYes;IMEX1;;//获得excel数据string connetionStr ProviderMicrosoft.Jet.OleDb.4.0; data source url ;Extended PropertiesExcel 8.0; HDRYES; IMEX1;string strSql select * from [Sheet1$];OleDbConnection oleConn new OleDbConnection(connetionStr);OleDbDataAdapter oleAdapter new OleDbDataAdapter(strSql, connetionStr);try{//把excel数据填充给datatabledt new DataTable();oleAdapter.Fill(dt);return dt;}catch (Exception ex){throw ex;}finally{oleAdapter.Dispose();oleConn.Close();oleConn.Dispose();}}}}至此向数据库批量导入数据就实现了如果你想对要导入数据库的数据做合法性判断执行Excel转换成Datatable时自己加些判断处理就行了