public bool AddReport(Ap_Report model, List<Ap_ReportPrduct>list)
{
SqlConnection conn = new SqlConnection(SqlHelper.ConnectionString)
conn.Open()
SqlCommand cmd = conn.CreateCommand()
SqlTransaction tran = conn.BeginTransaction()
cmd.Transaction = tran
SqlParameter[] par
SqlParameter id
try
{
SqlParameter activityId
if (model.ActivityId == null)
{
activityId = new SqlParameter("@ActivityId", DBNull.Value)
}
else
{
activityId = new SqlParameter("@ActivityId", model.ActivityId)
}
SqlParameter CreateTime
if (model.CreateTime == null)
{
CreateTime = new SqlParameter("@CreateTime", DBNull.Value)
}
else
{
CreateTime = new SqlParameter("@CreateTime", model.CreateTime)
}
SqlParameter BeginTime
if (model.ActivityBeginTime == null)
{
BeginTime = new SqlParameter("@ActivityBeginTime", DBNull.Value)
}
else
{
BeginTime = new SqlParameter("@ActivityBeginTime", model.ActivityBeginTime)
}
SqlParameter EndTime
if (model.ActivityEndTime == null)
{
EndTime = new SqlParameter("@ActivityEndTime", DBNull.Value)
}
else
{
EndTime = new SqlParameter("@ActivityEndTime", model.ActivityEndTime)
}
par = new SqlParameter[]
{
new SqlParameter("@ID",model.ID),
activityId,
new SqlParameter("@AnotherName",model.AnotherName),
new SqlParameter("@ShopId",model.ShopId),
CreateTime,
new SqlParameter("@IsFreeShip",model.IsFreeShip),
BeginTime,
EndTime,
new SqlParameter("@IsPass",model.IsPass),
new SqlParameter("@UserName",model.Usr),
new SqlParameter("@IsDel",model.IsDel),
}
cmd.CommandText = DalConstInfo.Report_Add
cmd.Parameters.Clear()
cmd.Parameters.AddRange(par)
cmd.ExecuteNonQuery()
SqlParameter ActivityPrices
SqlParameter ActivityCounts
for (int i = 0i <list.Counti++)
{
cmd.CommandText = DalConstInfo.ReportProduct_Add
if(list[i].ActivityPrices==null)
{
ActivityPrices= new SqlParameter("@ActivityPrices",DBNull.Value)
}
else
{
ActivityPrices = new SqlParameter("@ActivityPrices", list[i].ActivityPrices)
}
if (list[i].ActivityCounts == null)
{
ActivityCounts = new SqlParameter("@ActivityCounts", DBNull.Value)
}
else
{
ActivityCounts = new SqlParameter("@ActivityCounts", list[i].ActivityCounts)
}
par = new SqlParameter[]
{
new SqlParameter("@ReportId",list[i].ReportId),
new SqlParameter("@ProKeys",list[i].ProKeys),
new SqlParameter("@ShortNames",list[i].ShortNames),
new SqlParameter("@SalePrices",list[i].SalePrices),
ActivityPrices,
ActivityCounts,
new SqlParameter("@IsDel",list[i].IsDel),
}
cmd.Parameters.Clear()
cmd.Parameters.AddRange(par)
cmd.ExecuteNonQuery()
}
tran.Commit()
return true
}
catch
{
tran.Rollback()
return false
}
finally
{
conn.Close()
cmd.Dispose()
tran.Dispose()
}
}
分析iis日志,解决掉5xx(服务代码错误),955(页面加载过慢)
引入分布式缓存
数据库读写分离
网站优化方案大方向都很固定,具体还是根据自己网站的实际情况。可以看看淘宝,京东出的技术书。里面有他们网站的架构,各种问题有对应的解决方案,可以借鉴。
把所有得记录存入一个集合,在用事务一次性存入数据库 参考代码如下(仅供参考):SqlConnection myConnection = new SqlConnection("Data Source=localhostInitial Catalog=NorthwindIntegrated Security=SSPI")
myConnection.Open()
SqlTransaction myTrans = myConnection.BeginTransaction()//使用New新生成一个事务
SqlCommand myCommand = new SqlCommand()
myCommand.Transaction = myTrans
try
{
for(....)//这儿做循环插入
{
myCommand.CommandText = "Update Address set location='23 rain street' where userid='0001'"
myCommand.ExecuteNonQuery()
}
myTrans.Commit()
}
catch(Exception e)
{
myTrans.Rollback()
}
finally
{
myConnection.Close()
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)