存储过程配合UpdateDaset方法批量插入Dataset数据实现代码
存储过程配合UpdateDaset方法批量插入Dataset数据实现代码
发布时间:2016-12-29 来源:查字典编辑
摘要:复制代码代码如下:publicboolSaveSMSMessage(SMSBatchsmsBatch,DataSetsmsMessages)...

复制代码 代码如下:

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;

}

推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
相关阅读
网友关注
最新mssql数据库学习
热门mssql数据库学习
编程开发子分类