CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  .NET技术 >  C#

那位高手能优化一下这段代码?高分相送

楼主piaosha(飘沙)2005-06-02 14:34:59 在 .NET技术 / C# 提问

private   void   BtOk_Click(object   sender,   System.EventArgs   e)  
  {        
      string   ProjNo=Request.QueryString["ProjNo"].ToString();  
      string   ProjName="",Style="",UpdateUserNo="",UsersPwdEx="",IsLeaderPass="";  
       
      SqlDataReader   DrProj  
      DrProj=DataOper.dealback("select   *   from   Proj   where   ProjNo='"+ProjNo+"'");  
              if   (DrProj.Read())  
  {  
        ProjName=DrProj["ProjName"].ToString();  
        Style=DrProj["Style"].ToString();  
        IsLeaderPass=DrProj["IsLeaderPass"].ToString();  
        UpdateUserNo=DrProj["UpdateUserNo"].ToString();  
  }  
              DrProj.Close();  
   
              SqlDataReader   DrUsers;  
              DrUsers=DataOper.dealback("select   *   from   Users   where   UserNo='"+Session   ["UserNo"].ToString()+"'");  
              if   (DrUsers.Read())  
  {  
        UsersPwdEx=DrUsers["PwdEx"].ToString();  
  }  
  DrUsers.Close();  
   
   
              int   ispass=0;  
              string   IsPassStr="";  
   
              if   (UsersPwdEx==DataNorm.md5(Txtpassword.Text))  
  {        
                                     
      if   (this.RBpass.Checked)  
            {  
  ispass=1;  
  IsPassStr=RBpass.Text;  
   
              }  
   
                        if   (this.RBNoPass.Checked)  
            {        
  ispass=-1;  
  IsPassStr=RBNoPass.Text;  
   
            }  
                                   
  //***************************如果不是公开项目的话,连投标人一起审批了**************************************//  
            if   (Style!="0")  
                  {  
                  DataOper.dealdata("Update   ProjLeader   set   IsPass='"+ispass+"',CfmBidder='"+ispass+"',UpdateUserNo='"+Session["UserNo"].ToString()+"',UpdateDt='"+DateTime.Now+"',Note='"+TxtNote.Text+"'   where   ProjNo='"+ProjNo+"'   and   UserNo='"+Session["UserNo"].ToString()+"'");  
                    }  
            else  
                    {  
                DataOper.dealdata("Update   ProjLeader   set   IsPass='"+ispass+"',UpdateUserNo='"+Session["UserNo"].ToString()+"',UpdateDt='"+DateTime.Now+"',Note='"+TxtNote.Text+"'   where   ProjNo='"+ProjNo+"'   and   UserNo='"+Session["UserNo"].ToString()+"'");  
                      }  
   
            string   Title="",TitleSMS="",RcvNo="",GroupId="0";  
   
            RcvNo=UpdateUserNo;  
   
            Title=ProjName+"项目的领导"+Session["UserName"].ToString()+"审批了该项目,意见:"+IsPassStr;  
            TitleSMS=ProjName+"项目的领导"+Session["UserName"].ToString()+"已经审批了该项目,意见:"+IsPassStr;  
            ProjMsg.AddToProjMsg(Session["UserNo"].ToString(),ProjNo,GroupId,RcvNo,Title,Session["UserNo"].ToString());  
            ProjMsg.AddToProjSendSMS(Session["UserNo"].ToString(),ProjNo,GroupId,RcvNo,TitleSMS,Session["UserNo"].ToString());  
            ProjMsg.AddToProjSendEmail(Session["UserNo"].ToString(),ProjNo,GroupId,RcvNo,Title,TitleSMS,Session["UserNo"].ToString());  
                                   
  //********************************************网站操作统计**************************************************//  
            DataNorm.SiteLog("","审核结果:"+IsPassStr,ProjNo,"1000");  
   
  //********************************************不是所有领导都审核********************************************//  
            SqlDataReader   DrProjLeaderallPass;  
  DrProjLeaderallPass=DataOper.dealback("select   *   from   ProjLeader   where   (IsPass=-1   or   IsPass=0)   and   ProjNo='"   +   ProjNo   +   "'");  
  if   (!DrProjLeaderallPass.Read())  
  {  
  //**************************************设置新项目通过审核标志******************************************//  
  DataOper.dealdata("Update   Proj   set   Status=10,   ApplyStatus='2'   ,UpdateDt='"+DateTime.Now+"'where   ProjNo='"+ProjNo+"'");  
                                           
  //*****************************************立项发人消息*************************************************//  
  RcvNo=UpdateUserNo;  
   
  Title=ProjName+"项目的所有领导都已经审批了该项目,意见:同意";  
  TitleSMS=ProjName+"项目的所有领导都已经审批了该项目,意见:同意";  
  ProjMsg.AddToProjMsg(Session["UserNo"].ToString(),ProjNo,GroupId,RcvNo,Title,Session["UserNo"].ToString());  
  ProjMsg.AddToProjSendSMS(Session["UserNo"].ToString(),ProjNo,GroupId,RcvNo,TitleSMS,Session["UserNo"].ToString());  
  ProjMsg.AddToProjSendEmail(Session["UserNo"].ToString(),ProjNo,GroupId,RcvNo,Title,TitleSMS,Session["UserNo"].ToString());  
                                         
  //*****************************************向所有投标人发送邀请通知***************************************//  
  SqlDataReader   DrInvite,Druserss;  
  DrInvite=DataOper.dealback("select   *   from   Invite   where   InviteNo='"+Session["OrgNo"].ToString()+"'");  
                                          DrInvite.Read();  
   
  if   (Style=="0")  
  {                
  if(IsLeaderPass=="1")  
  {  
  Druserss=DataOper.dealback("select   *   from   ProjTempSMS   where   ProjNo='"+ProjNo+"'");  
  Title=DrInvite["InviteName"].ToString()+"招标方发布公开招标预告,项目名称:"+ProjName;  
  TitleSMS=DrInvite["InviteName"].ToString()+"发布公开招标预告,项目名称:"+ProjName+",请登陆福建电力招标网查看详细情况";  
   
  while(Druserss.Read())  
  {  
  RcvNo=Druserss["UserNo"].ToString();  
  ProjMsg.AddToProjMsg(Session["UserNo"].ToString(),ProjNo,GroupId,RcvNo,Title,Session["UserNo"].ToString());  
  ProjMsg.AddToProjSendSMS(Session["UserNo"].ToString(),ProjNo,GroupId,RcvNo,TitleSMS,Session["UserNo"].ToString());  
  ProjMsg.AddToProjSendEmail(Session["UserNo"].ToString(),ProjNo,GroupId,RcvNo,Title,TitleSMS,Session["UserNo"].ToString());  
  }  
  Druserss.Close();  
  }  
   
        }  
  else  
  {  
  Druserss=DataOper.dealback("select   Users.*   from   Users   where   GroupId>=40   and   GroupId<50   and     OrgNo   in   (select   BidderNo   from   ProjBidder   where   ProjNo='"   +ProjNo   +"')");  
  Title=ProjName+"项目邀请您参与竞标";  
  TitleSMS=ProjName+"项目邀请您参与竞标,请登陆福建电力招标网查看详细情况";  
   
  while(Druserss.Read())  
  {  
  RcvNo=Druserss["UserNo"].ToString();  
  ProjMsg.AddToProjMsg(Session["UserNo"].ToString(),ProjNo,GroupId,RcvNo,Title,Session["UserNo"].ToString());  
  ProjMsg.AddToProjSendSMS(Session["UserNo"].ToString(),ProjNo,GroupId,RcvNo,TitleSMS,Session["UserNo"].ToString());  
  ProjMsg.AddToProjSendEmail(Session["UserNo"].ToString(),ProjNo,GroupId,RcvNo,Title,TitleSMS,Session["UserNo"].ToString());  
  }  
  Druserss.Close();  
  }  
                                           
   
        DrInvite.Close();  
   
  }  
   
  DrProjLeaderallPass.Close();  
                                  Table3.Visible=false;  
  Table4.Visible=false;  
  Table2.Visible=true;  
  LbInfo.Text="您已经成功审核了本项目!";  
                         
          }  
  else  
  {  
  ErrorInfo.Text="二级密码错误";  
  }  
  }  
  这段代码在本机运行还行,项目上传到福建的服务器再运行就奇慢了。。哪位高手能看出问题出在那里吗?  
   
  其中:ProjMsg是短信发送类,里面有代码中的一些短信发送函数。。  
  问题点数:100、回复次数:7Top

1 楼lemong(風之影)回复于 2005-06-02 14:55:43 得分 10

实话,有点乱,能远程调试吗?看看哪里慢  
  看看数据库负荷是否正常,发送短信那里呢?Top

2 楼fancyf(凡瑞)回复于 2005-06-02 15:11:44 得分 0

在不同的地方加入几个Trace,输出个时间戳,看看哪步用的时间长Top

3 楼piaosha(飘沙)回复于 2005-06-02 15:16:27 得分 0

fancyf,怎么个加法啊。。  
  谢谢了Top

4 楼wgif_79(冰雹)回复于 2005-06-02 15:17:49 得分 0

有这么写程序的吗,你赶紧改行吧?!Top

5 楼piaosha(飘沙)回复于 2005-06-02 16:24:52 得分 0

不是我写的,我要改代码。所以。。。  
  楼上的看来是高手,不防把你高见写出来啊Top

6 楼fancyf(凡瑞)回复于 2005-06-02 17:09:52 得分 90

System.Diagnostics.Trace.WriteLine("位置标记"   +   System.Environment.TickCount);  
   
  加哪里随便,你觉得那个操作用的时间长就加在哪里,调试一下看看哪一步用的时间长  
   
  TickCount的精度不是很高,多测几次Top

7 楼randysbf(Randy)回复于 2005-06-02 17:32:38 得分 0

可以在不同的地方加入几个Trace,输出个时间戳.Top

相关问题

  • 代码优化
  • 高分求教:ASP代码优化
  • cg1120(代码最优化)来拿分吧
  • 求代码优化!
  • 100分(我全部的分),加速,代码优化,JPEG
  • 请教如何优化这段代码?来者有分!
  • 如何优化VB代码?
  • 关于vb代码优化
  • 很简单的一段代码,但需要优化,动脑筋的都给分!
  • cg1120(代码最优化-§人在爱情的空窗期要个梦§)拿分

关键词

  • 项目
  • drproj
  • projno
  • userno
  • updateuserno
  • drusers
  • ispassstr
  • projname
  • ispass
  • dataoper

得分解答快速导航

  • 帖主:piaosha
  • lemong
  • fancyf

相关链接

  • CSDN .NET频道
  • .NET类图书
  • C#类图书
  • .NET类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo