存储过程配合UpdateDaset方法批量插入Dataset数据实现代码

2022-11-12 09:44:23
内容摘要
这篇文章主要为大家详细介绍了存储过程配合UpdateDaset方法批量插入Dataset数据实现代码,具有一定的参考价值,可以用来参考一下。 对此感兴趣的朋友,看看idc笔记做的技术笔记!
文章正文

这篇文章主要为大家详细介绍了存储过程配合UpdateDaset方法批量插入Dataset数据实现代码,具有一定的参考价值,可以用来参考一下。

对此感兴趣的朋友,看看idc笔记做的技术笔记!

代码如下:

 
public bool SaveSMSMessage(SMSBatch smsBatch, DataSet smsMessages) 
{ 
//using (TransactionScope ts = new TransactionScope(TransactionScopeOption.Suppress)) 
//{ 
foreach (DataRow row in smsMessages.Tables[0].Rows) 
row.SetModified(); 
SqlDatabase db = new SqlDatabase(this.ConsultantsConnString); 
string sqlCmd = "EXEC cn.SMSSaveSMSMessage @SMSBatchID, @SMSTypeID, @SubsidiaryID, @ContactID, @Message, @PhoneNumber"; 
using (SqlCommand cmd = db.GetSqlStringCommand(sqlCmd) as SqlCommand) 
{ 
cmd.CommandTimeout = 600; 
cmd.Parameters.AddWithValue("@SMSBatchID", smsBatch.SMSBatchID); 
cmd.Parameters.AddWithValue("@SMSTypeID", smsBatch.SMSType.SMSTypeID); 
cmd.Parameters.AddWithValue("@SubsidiaryID", smsBatch.SMSType.SubsidiaryID); 
db.AddInParameter(cmd, "@ContactID", DbType.Int64, "ContactID", DataRowVersion.Current); 
db.AddInParameter(cmd, "@Message", DbType.String, "Message", DataRowVersion.Current); 
if (smsMessages.Tables[0].Columns.Contains("PhoneNumber")) 
{ 
db.AddInParameter(cmd, "@PhoneNumber", DbType.String, "PhoneNumber", DataRowVersion.Current); 
} 
else 
{ 
db.AddInParameter(cmd, "@PhoneNumber", DbType.String, DBNull.Value); 
} 
int rowsEffected = db.UpdateDataSet(smsMessages, "SMSMessage", null, cmd, null, UpdateBehavior.Transactional); 
sqlCmd = rowsEffected.ToString(); 
} 
// ts.Complete(); 
//} 
return true; 
} 

注:关于存储过程配合UpdateDaset方法批量插入Dataset数据实现代码的内容就先介绍到这里,更多相关文章的可以留意

代码注释

作者:喵哥笔记

IDC笔记

学的不仅是技术,更是梦想!