如何把DataGrid中数据(是从外部导入的)写入到SQLserver中?在线.....
我从Excel中导入了一些成绩表到DataGrid中(这没问题),显示如下:
年级 班级 姓名 语文 数学 英语 政治 化学
1 1 张三 80 77 88 88 90
1 1 李四 70 66 45 55 88
.......
我怎样把DataGrid里的成绩保存到SQLserver中,而且格式是这样的:
年级 班级 姓名 科目 分数
1 1 张三 语文 80
1 1 张三 数学 77
1 1 张三 英语 88
...
1 1 李四 语文 70
...
怎么实现呢,先谢谢了!
问题点数:0、回复次数:6Top
1 楼yexd_active()回复于 2005-04-03 14:17:30 得分 0
星期天都去玩去了吗?自己顶一下!
Top
2 楼yexd_active()回复于 2005-04-04 09:27:40 得分 0
上面的实现真的感觉很麻烦,要不这样可以实现吗?把下面的表如:
年级 班级 姓名 科目 分数
1 1 张三 语文 80
1 1 张三 数学 77
1 1 张三 英语 88
1 1 李四 语文 70
的数据写入到SQLserver的成绩表中,成绩表的结构如下:
年级 班级 姓名 科目 分数
那么这个问题就变成了批量插入数据了,怎么做呢?Top
3 楼mac_shen(风之子)回复于 2005-04-04 09:31:44 得分 0
用 DataSetTop
4 楼wf5360308(冷月孤峰)回复于 2005-04-04 09:35:59 得分 0
用FOR循环将DATAGRID里的数据插入到数据库中就行了啊Top
5 楼pingnt(淡蓝色的雪)回复于 2005-04-04 09:38:08 得分 0
不是一两句话能说清楚。
要写一段代码进行重新存储才行。Top
6 楼NetCode(灵光)回复于 2005-04-04 09:54:08 得分 0
把Excel倒入到DataSet里面之后,可以直接循环的如下写入数据阿。
DataTable dt = .............//Excel的表
string[] param = new string[dt.Columns.Count+1];
object[] os = new object[dt.Columns.Count+1];
for(int j = 0;j<dt.Rows.Count;j++)
{
for (int i = 0; i < dt.Columns.Count; i++)
{
param[i] = "@" + dt.Columns[i].ColumnName;
os[i] = dt.Rows[j][i].ToString().Replace("¥","");
}
da.Exec(scb.GetSqlCommandForProc(param, os));//自定义的写入数据的方法scb通过参数名称和参数的值返回一个SqlCommand对象,da.负责执行这个对象。
}
Top




