我有使用存储过程插入SQL Server数据库的记录列表。目前我正在这样做,但有没有更好的办法?使用存储过程在数据库中插入列表记录
我在应用程序的高峰时段插入100-200行/秒。该存储过程只得到了价值和插入新行,你可以做
public void InsertRecords(List<stRecord> records)
{
foreach (var item in records)
{
if (CheckforDuplicateRecord(item) == false)
{
using (con = new SqlConnection(connectionString))
{
con.Open();
SqlCommand cmd = new SqlCommand(StoredProcedures.Service_Insert_record.ToString(), con);
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.Add("@item1", SqlDbType.NChar);
cmd.Parameters.Add("@item2", SqlDbType.NChar);
cmd.Parameters[0].Value = item.localUsername;
cmd.Parameters[1].Value = item.BetfairUsername;
try
{
cmd.ExecuteNonQuery();
}
catch (Exception exp)
{
throw exp;
}
}
}
}
}
您是否在寻找更好的性能,代码改进,无论是还是? – Dan 2012-02-24 21:29:25
两种方式如果可能的话,我是非常新的C#我不知道它是否正确的编码方式,假设我们有200个记录,我们打开数据库连接200次,然后关闭它,插入记录一个,有一些更好的编码?用于内存改进或永久性 – kawafan 2012-02-24 21:31:51
您正在使用哪个版本的Sql Server? – 2012-02-24 21:34:01