服务器之家

服务器之家 > 正文

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

时间:2019-12-31 15:53     来源/作者:MSSQL教程网

代码如下:


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; 

相关文章

热门资讯

玄元剑仙肉身有什么用 玄元剑仙肉身境界等级划分
玄元剑仙肉身有什么用 玄元剑仙肉身境界等级划分 2019-06-21
男生常说24816是什么意思?女生说13579是什么意思?
男生常说24816是什么意思?女生说13579是什么意思? 2019-09-17
华为nova5pro和p30pro哪个好 华为nova5pro和华为p30pro对比详情
华为nova5pro和p30pro哪个好 华为nova5pro和华为p30pro对比详情 2019-06-22
配置IIS网站web服务器的安全策略配置解决方案
配置IIS网站web服务器的安全策略配置解决方案 2019-05-23
Nginx服务器究竟是怎么执行PHP项目
Nginx服务器究竟是怎么执行PHP项目 2019-05-24
返回顶部