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

<div class="codetitle"><a style="CURSOR: pointer" data="85270" class="copybut" id="copybut85270" onclick="doCopy('code85270')"> 代码如下:

<div class="codebody" id="code85270">
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","PhoneNumber",DaTarowVersion.Current);
}
else
{
db.AddInParameter(cmd,dbnull.Value);
}
int rowsEffected = db.UpdateDataSet(smsMessages,"SMSMessage",null,cmd,UpdateBehavior.Transactional);
sqlCmd = rowsEffected.ToString();
}
// ts.Complete();
//}
return true;
}

相关文章

SELECT a.*,b.dp_name,c.pa_name,fm_name=(CASE WHEN a.fm_n...
if not exists(select name from syscolumns where name=&am...
select a.*,pano=a.pa_no,b.pa_name,f.dp_name,e.fw_state_n...
要在 SQL Server 2019 中设置定时自动重启,可以使用 Window...
您收到的错误消息表明数据库 &#39;EastRiver&#39; 的...
首先我需要查询出需要使用SQL Server Profiler跟踪的数据库标...