存储过程配合UpdateDaset方法批量插入Dataset数据实现代码
2018-10-12 14:09
896 查看
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数据实现代码
- 用存储过程加UpdateDaset方法批量插入Dataset数据
- 批量插入数据的存储过程
- Sql语句与存储过程查询数据的性能测试实现代码
- 存储过程学习-批量插入10000条数据进数据库
- 利用存储过程实现交叉表格式数据查询的一种通用方法
- asp下实现批量插入数据的方法
- Oracle中通过存储过程,Function,触发器实现解析时间类型的字段并插入的对应的数据表中
- Sql Server2008如何在存储过程中实现根据判断插入更新数据
- 存储过程实现插入更新数据
- 存储过程批量插入随机数据
- 存储过程学习-批量插入10000条数据进数据库
- 创建测试表,批量插入数据的存储过程,分页存储过程
- Sql Server2008如何在存储过程中实现根据判断插入更新数据
- 利用存储过程实现交叉表格式数据查询的一种通用方法
- 本文给出了一种方便实用的解决大文件的读取、存储等处理的方法,并结合相关程序代码对具体的实现过程进行了介绍
- 批量插入数据的存储过程
- 我转载的文章《.NET中统一的存储过程调用方法 》具体实现代码
- Sybase数据库——批量插入数据存储过程
- [导入]批量插入数据的存储过程