C#后台做数据存储出现延时、超时的情况

来源:互联网 发布:淘宝上质量好的女鞋店 编辑:程序博客网 时间:2024/05/16 01:15

对两种看的人进行单独操作,进行插入数据时,提示超时:

VisitModel d = new VisitModel();

d.InjectFrom(rpm.Entity);   //将提交的表数据填入模型

string uuid = System.Guid.NewGuid().ToString();
                            d.remark = uuid;

StringBuilder sb6 = new StringBuilder();

                            string[] pers = _leader.Split(',');   //传过来的字符串处理
                            sb6.Append("delete Documentreview where flag='抄送' and remark='" + d.remark + "';");


                            for (int i = 0; i < pers.Length; i++)
                            {
                                if (pers[i] != "")
                                {
                                    sb6.Append("insert into Documentreview(fromdate,sysuserid,flag,remark) values('" + d.docdate + "'," + pers[i] + ",'抄送','" + d.remark + "');");
                                }

                            } 

DBHelper.Excsql(sb6.ToString(),null);  //数据存储帮助类

                            StringBuilder sb7 = new StringBuilder();
                            string[] apv = _approver.Split(',');  //传过来的字符串处理
                            using (DataTable dtr = DBHelper.Search("select sysuserid from Documentreview where remark='" + d.remark + "' and flag='审批'", null))
                            {
                                ;
                                if (dtr.Rows.Count > 0)
                                {
                                    for (int i = 0; i < apv.Length; i++)
                                    {
                                        for (var j = 0; j < dtr.Rows.Count; j++)
                                        {
                                            if (apv[i] == dtr.Rows[j]["sysuserid"].ToString())
                                            {
                                                break;
                                            }
                                            k++;
                                        }
                                        if (k == dtr.Rows.Count)
                                        {
                                            if (apv[i] != "")
                                            {
                                                sb7.Append("insert into Documentreview(fromdate,sysuserid,flag,remark) values('" + d.docdate + "'," + apv[i] + ",'审批','" + d.remark + "');");
                                            }
                                        }
                                        k = 0;
                                    }
                                    for (int i = 0; i < dtr.Rows.Count; i++)
                                    {
                                        for (var j = 0; j < apv.Length; j++)
                                        {
                                            if (apv[j] == dtr.Rows[i]["sysuserid"].ToString())
                                            {
                                                break;
                                            }
                                            k++;
                                        }
                                        if (k == apv.Length)
                                        {
                                            sb7.Append("delete Documentreview where sysuserid=" + dtr.Rows[i]["sysuserid"] + " and remark='" + d.remark + "';");
                                        }
                                        k = 0;
                                    }
                                }
                                else
                                {
                                    for (int i = 0; i < apv.Length; i++)
                                    {
                                        if (apv[i] != "")
                                        {
                                            sb7.Append("insert into Documentreview(fromdate,sysuserid,flag,remark) values('" + d.docdate + "'," + apv[i] + ",'审批','" + d.remark + "');");
                                        }
                                    }
                                }

                            }

DBHelper.Excsql(sb7.ToString(),null); 

一直在这一步操作时卡顿,然后报错说超时,其实只需要将所有sql语句全都放到一个StringBuilder里就可以了。

分段的插入数据与下面的查询冲突了,导致的超时。

0 0