日期:2014-05-17  浏览次数:20409 次

如何插入1000条递增数据?
【1】-【1000】我要在框框中填1和1000 即插入1.2.3.4....1000条递增数据到数据库
我该怎么插入?
  for (int i = txt_Code1.Text.ConvertTo<Int32>(); i < txt_Code2.Text.ConvertTo<Int32>(); i++)
  {
  entity.Code = i.ConvertTo<string>();
  }
我这个实体最后赋值应该是怎样的?想上面这样循环插入的只是最后一条数据。。该怎么办?求各位大神指导赐教~!!

------解决方案--------------------
entity.Code,你这个始终就是同一个实体的code,后面赋值就会覆盖前面的,最后当然就是最后一个数组了,如果你想创建多个,总得new多个实体,然后为每个实体的code赋值不同的数字啊
------解决方案--------------------
比如:
C# code

for()
{
   model a=new model();
   a.id=i;
}
你可以选择先IList<model> 填充好后在一次插入或者每次插入一条.

------解决方案--------------------
Entity.code赋值完成之后把这个Entity插入一个这个Entity的实体类集合
根据你定义的集合类型,通常都有Add或者Insert方法

其实用存储过程实现比较好,效率会高点
------解决方案--------------------
用一个List<string> querys = new List<string>();
for循环生成insert语句加到这个list中。
然后用个带事务方法执行就行。
给你这个方法
 /// <summary>
/// 执行多个Sql语句,同时进行事务处理
/// </summary>
/// <param name="querys"></param>
/// <returns></returns>
public bool ExecuteSqlWithTransaction(List<string> querys)
{
bool flag = true;
SqlTransaction trans = null;
if (openConnection())
{
trans = sqlCon.BeginTransaction();
sqlComm = new SqlCommand();
sqlComm.Connection = sqlCon;
sqlComm.Transaction = trans;
try
{
for (int i = 0; i < querys.Count; i++)
{
sqlComm.CommandText = querys[i];
sqlComm.ExecuteNonQuery();
}
trans.Commit();
}
catch (Exception ex)
{
flag = false;
trans.Rollback();
throw ex;
}
finally
{
closeConnection();
}
}
else
{
flag = false;
}
return flag;
}