在本次教务系统开发过程中,为了能够尽量的减少连接和关闭数据库的次数,来提高系统的性能。
所以在sqlhelper 下设计了一个批量到输入数据的方法, 但是我们必须要首先将数据写入到DataTable中去。那么怎样才能较为有效的将数据写入DataTable呢?
其实在之前的我也写过关于DataTable的使用方法,过代码比较零散,使用上不是那么方便。(http://lidonglong.blog.51cto.com/1344951/583700)
下面是我的整合之后的代码:
private DataTable CommonCodexDt(CommonalityElectiveCourseCodex[] commonCodex)
{
DataTable commonCodexDt = new DataTable(); //定义公共选修课选课规则dtDataColumn[] dtColumn = new DataColumn[5]; //定义类数组
DataRow[] dtRows = new DataRow[commonCodex.Length]; //定义行数组 (行数与公共选修课选课规则条数相同)dtColumn[0] = new DataColumn("grade"); //实例化 年级 列
dtColumn[1] = new DataColumn("courseNums"); //实例化 可选课程书 列
dtColumn[2] = new DataColumn("electiveTimes"); //实例化 选课次数 列
dtColumn[3] = new DataColumn("begTime"); //实例化 系统开放时间 列
dtColumn[4] = new DataColumn("closeTime"); //实例化 系统关闭时间 列for (int i = 0; i < 5; i++) // 将定义好的列添加的DataTable中
{
commonCodexDt.Columns.Add(dtColumn[i]);
}for (int i = 0; i < dtRows.Length; i++) // 将定义好的行添加的DataTable中
{
dtRows[i] = commonCodexDt.NewRow(); // 实例化行// 赋值
dtRows[i]["grade"] = commonCodex[i].Grade;
dtRows[i]["courseNums"] = commonCodex[i].CourseNums;
dtRows[i]["electiveTimes"] = commonCodex[i].ElectiveTimes;
dtRows[i]["begTime"] = commonCodex[i].BeginTime;
dtRows[i]["closeTime"] = commonCodex[i].CloseTime;commonCodexDt.Rows.Add(dtRows[i]); // 将定义好的行添加到Datatable中
}return commonCodexDt;
}