问题描述
就是打开网页第一次出借的时候(按一下按钮时),跳出窗口出借成功,但是实际,在数据表里没有更新出"已出借",但再来按一下按钮的话,就可以看到,已经更新成功了,就是在出借吗这个字段中已经更新成'已出借'各位帮看看,不知道是什么原因???我一个人比较难找出来,俱体请看,下面代码protectedvoidButton1_Click(objectsender,EventArgse){//图纸出借if(TextBox2.Text==""||DropDownList2.SelectedValue==""){Response.Write("<script>alert('请输入要借的图号!及借图人员')</script>");}else{stringcmdchujie="selectchujiefromtuzhiwherezlh='"+TextBox2.Text+"'andchujie='已出借'";SqlConnectioncon2=newSqlConnection(ConfigurationManager.ConnectionStrings["sqlcon1"].ConnectionString);con2.Open();SqlCommandcommand=newSqlCommand(cmdchujie,con2);SqlDataReaderdr=command.ExecuteReader(CommandBehavior.CloseConnection);if(dr.Read()){Response.Write("<script>alert('此图已出借了,请查询!')</script>");}else{stringpeople=DropDownList2.SelectedValue;stringtime=DateTime.Now.ToString();stringcmdtext="updatetuzhisetchujie='已出借',lendpeople='"+people+"',lendtime='"+time+"',backtime='',bz='"+TextBox3.Text+"'wherezlh='"+TextBox2.Text+"'";SqlConnectioncon=newSqlConnection(ConfigurationManager.ConnectionStrings["sqlcon1"].ConnectionString);con.Open();SqlCommandcmd=newSqlCommand(cmdtext,con);try{cmd.ExecuteNonQuery();SqlConnectioncon1=newSqlConnection(ConfigurationManager.ConnectionStrings["sqlcon1"].ConnectionString);con1.Open();stringcmdtext1="select*FROMtuzhiwherezlh='"+TextBox2.Text+"'";SqlDataAdaptersda1=newSqlDataAdapter(cmdtext1,con1);DataSetds1=newDataSet();sda1.Fill(ds1);DataList1.DataSource=ds1;DataList1.DataBind();con1.Close();}catch(Exceptionerror){Response.Write(error.ToString());}finally{con.Close();}Response.Write("<script>alert('出借成功!')</script>");TextBox3.Text="";TextBox2.Text="";}dr.Close();}}
解决方案
解决方案二:
这代码写的.你说的意思是不是第一按button没效果,第2次才行?自己加端点看一下吧
解决方案三:
差不多是这个意思,出借成功!这个窗口都会跳出来第一次不成功,以后都没问题,但关掉网页,每次网页打开来后,第一次按按钮总是不能更新,没出错,但表里就是没更新,以后就都可以更新成功了
解决方案四:
try{}中有错吧sql命令中注意空格
解决方案五:
如果是空格的原因的话,第二次也不会成功吧
解决方案六:
引用1楼sharpblade的回复:
这代码写的.你说的意思是不是第一按button没效果,第2次才行?自己加端点看一下吧
解决方案七:
就是你说的意思
解决方案八:
把con.Close();放在con1.Open();前面