我从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
           ...
怎么实现呢,先谢谢了!

解决方案 »

  1.   

    上面的实现真的感觉很麻烦,要不这样可以实现吗?把下面的表如:年级 班级  姓名  科目  分数
    1     1    张三  语文   80
    1     1    张三  数学   77
    1     1    张三  英语   88
    1     1    李四  语文   70
    的数据写入到SQLserver的成绩表中,成绩表的结构如下:年级 班级  姓名  科目  分数
    那么这个问题就变成了批量插入数据了,怎么做呢?
      

  2.   

    用FOR循环将DATAGRID里的数据插入到数据库中就行了啊
      

  3.   

    把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.负责执行这个对象。
    }