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

mingsunday 2005-06-02 02:34:59
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是短信发送类,里面有代码中的一些短信发送函数。。
...全文
139 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
randysbf 2005-06-02
  • 打赏
  • 举报
回复
可以在不同的地方加入几个Trace,输出个时间戳.
fanruinet 2005-06-02
  • 打赏
  • 举报
回复
System.Diagnostics.Trace.WriteLine("位置标记" + System.Environment.TickCount);

加哪里随便,你觉得那个操作用的时间长就加在哪里,调试一下看看哪一步用的时间长

TickCount的精度不是很高,多测几次
mingsunday 2005-06-02
  • 打赏
  • 举报
回复
不是我写的,我要改代码。所以。。。
楼上的看来是高手,不防把你高见写出来啊
wgif_79 2005-06-02
  • 打赏
  • 举报
回复
有这么写程序的吗,你赶紧改行吧?!
mingsunday 2005-06-02
  • 打赏
  • 举报
回复
fancyf,怎么个加法啊。。
谢谢了
fanruinet 2005-06-02
  • 打赏
  • 举报
回复
在不同的地方加入几个Trace,输出个时间戳,看看哪步用的时间长
lemong 2005-06-02
  • 打赏
  • 举报
回复
实话,有点乱,能远程调试吗?看看哪里慢
看看数据库负荷是否正常,发送短信那里呢?

110,539

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧