储存过程可以传XML参数的
http://www.cnblogs.com/tangruixin/archive/2012/04/23/2465917.html
可以把前台的信息按照一定规则拼接成字符串,然后在存储过程里对字符串进行处理,并保存到数据库中。
你可以在存储过程中用循环啊!!!!
随便搜搜”批量更新“关键字,就会找到很多,比如http://msdn.microsoft.com/zh-cn/library/kbbwt18a(v=vs.80).aspx。
这个问题的关键不是怎么解决批量更新,而是你解决问题的方法,我不信你恰当的google了这个问题。解决问题:google或者书籍-》周围的人-》再专门发帖问。
1.首先获取界面上的数据放入到一个集合里面去
2.把这个集合里面的数据转换成插入数据库的SQL语句
3.使用
/// <summary> /// 执行多条SQL语句,实现数据库事务。 /// </summary> /// <param name="SQLStringList">多条SQL语句</param> public static void ExecuteSqlTran(ArrayList SQLStringList) { using (SqlConnection conn = new SqlConnection(connectionString)) { conn.Open(); SqlCommand cmd = new SqlCommand(); cmd.Connection=conn; SqlTransaction tx=conn.BeginTransaction(); cmd.Transaction=tx; try { for(int n=0;n<SQLStringList.Count;n++) { string strsql=SQLStringList[n].ToString(); if (strsql.Trim().Length>1) { cmd.CommandText=strsql; cmd.ExecuteNonQuery(); } } tx.Commit(); } catch(System.Data.SqlClient.SqlException E) { tx.Rollback(); MyLog.logger.Error("执行多条SQL处理事务错误信息:" + E.Message); } } }
这个事务操作添加到数据库中。这样的作法不知道能不能满足你的要求,这样的话可以实现数据插入的完整性。