日期:2014-05-18  浏览次数:20421 次

多条数据录入问题
请问,如果我有一个表格比如说时学生成绩单,列为姓名、数学成绩、语文成绩、历史成绩,类似于此类表格,但是不想每个学生进行一次数据存储,而是多录入一些,比如说十个学生的各科成绩录入完成后,一同insert到数据库,如何实现呢?
用什么控件?或者是代码是什么样的?

------解决方案--------------------
这样应该是可以实习的,感觉不难。
你可以用自动生成那种表格,生成10行,让老师录入,
然后点保存的时候用事务处理一同Insert数据库
------解决方案--------------------
http://www.cnblogs.com/huangjianhuakarl/archive/2009/02/03/1381710.html
可以参考这个
------解决方案--------------------
一定要用事件。
public static bool addUser(User user)
{
if(user == null) return false;
string SQLSTR1 = "insert into `user` values(@A,@B,@C,@D,@E,@F,@G)";
string SQLSTR2 = "insert into userdetail values(@A,@B,@C,@D,@E)";
SqlConnection conn = DBConn.SqlConnection(CONSTR);
SqlTransaction autoCommit = conn.BeginTransaction();//建立一个事务
SqlCommand _Sqlcommand = new SqlCommand(SQLSTR1, conn);
_Sqlcommand.Transaction = _Transaction;

if(conn == null) return false;
bool success = false;
try
{

SqlParameter[] _Parmeter1 = new SqlParameter[]
{
new SqlParameter("@A",SqlDbType.VarChar), //pstat1.setString(1, user.getId());
new SqlParameter("@B",SqlDbType.VarChar), // pstat1.setString(2, StringUtil.str(user.getPw()));
new SqlParameter("@C",SqlDbType.Int), // pstat1.setNull(3, Types.INTEGER); or null
new SqlParameter("@D",SqlDbType.Int), // pstat1.setInt(4,user.getDutyid()); or null
new SqlParameter("@E",SqlDbType.VarChar), // pstat1.setString(5, user.getCalllevel());
new SqlParameter("@F",SqlDbType.VarChar), //null pstat1.setString(6, null);
new SqlParameter("@G",SqlDbType.DateTime) //null pstat1.setDate(7, null);
};

_Parmeter1[0].Value = user.getId();
_Parmeter1[1].Value = user.getPw();
_Parmeter1[2].Value = user.getPw();
_Parmeter1[3].Value = user.getDutyid(); //判断可能为NULL
_Parmeter1[4].Value = user.getCalllevel(); //判断可能为NULL
_Parmeter1[5].Value = DBNull.Value;
_Parmeter1[6].Value = DBNull.Value;


_Sqlcommand.Parameters = _Parmeter1;
bool rs1 = (_Sqlcommand.ExecuteNonQuery() == 1);

_Sqlcommand.CommandText = SQLSTR2;
SqlParameter[] _Parmeter2 = new SqlParameter[]
{
new SqlParameter("@A",SqlDbType.VarChar), // pstat2.setString(1, user.getId());
new SqlParameter("@B",SqlDbType.VarChar), // pstat2.setString(2, user.getNickname());
new SqlParameter("@C",SqlDbType.VarChar), // pstat2.setString(3, user.getTruename());
new SqlParameter("@D",SqlDbType.VarChar), // pstat2.setString(4, user.getBirthday());
new SqlParameter("@E",SqlDbType.VarChar), // pstat2.setString(5, user.getEmail());

};


_Parmeter2[0].Value = user.getId();
_Parmeter2[1].Value = user.getNickname();
_Parmeter2[2].Value = user.getTruename();
_Parmeter2[3].Value = user.user.getBirthday(); //判断可能为NULL
_Parmeter2[4].Value = user.getEmail();

bool r