问题描述
usingSystem;usingSystem.Data;usingSystem.Configuration;usingSystem.Collections;usingSystem.Web;usingSystem.Web.Security;usingSystem.Web.UI;usingSystem.Web.UI.WebControls;usingSystem.Web.UI.WebControls.WebParts;usingSystem.Web.UI.HtmlControls;publicpartialclassxueshengzuoye:System.Web.UI.Page{publicstaticstringfname;protectedvoidPage_Load(objectsender,EventArgse){if(!IsPostBack){if(Request["ID"]!=null){InitData();}}}privatevoidFileUpLoad(){if(UploadFile.Value!=null){stringnam=UploadFile.PostedFile.FileName;//取得文件名(抱括路径)里最后一个"."的索引inti=nam.LastIndexOf(".");//取得文件扩展名stringnewext=nam.Substring(i);//这里我自动根据日期和文件大小不同为文件命名,确保文件名不重复DateTimenow=DateTime.Now;stringnewname=now.ToFileTimeUtc()+UploadFile.PostedFile.ContentLength.ToString();//保存文件到你所要的目录,这里是IIS根目录下的uploadfiles目录//注意:我这里用Server.MapPath()取当前文件的绝对目录.在asp.net里""必须用"\"代替UploadFile.PostedFile.SaveAs(Server.MapPath("UpLoad/"+newname+newext));//得到这个文件的相关属性:文件名,文件类型,文件大小fname="UpLoad/"+newname+newext;}}protectedvoidInitData(){stringid=Request["ID"].ToString();try{stringSQL="select*fromTB_xueshengzuoyewhereID='"+id+"'";DataTabledt=DBHelper.GetDataSet(SQL).Tables[0];if(dt.Rows.Count>0){this.TextBox1.Text=dt.Rows[0]["ZuoYeName"].ToString();}}catch{}}protectedvoidButton1_Click(objectsender,EventArgse){if(UploadFile.Value!=null&&UploadFile.Value!=""){FileUpLoad();}stringSQL="";booliRet=false;if(Request["ID"]!=null){stringid=Request["ID"].ToString();SQL="updateTB_xueshengzuoyesetZuoYeName='"+this.TextBox1.Text+"',URl='"+fname+"'whereID='"+id+"'";iRet=DBHelper.ExecSql(SQL);}else{SQL="insertintoTB_xueshengzuoye(ZuoYeName,URl,AddUser)values('"+this.TextBox1.Text+"','"+fname+"','"+Session["username"].ToString()+"')";iRet=DBHelper.ExecSql(SQL);}if(iRet){Response.Write("<script>alert('恭喜您,操作成功!');document.location=document.location;</script>");}else{Response.Write("<script>alert('对不起,操作失败!');document.location=document.location;</script>");}}protectedvoidButton2_Click(objectsender,EventArgse){this.TextBox1.Text="";}}为什么一上传就提示对不起,操作失败!
解决方案
解决方案二:
打个断点调调,看看上去没!
解决方案三:
引用1楼u013053259的回复:
打个断点调调,看看上去没!
要在哪里打断点?
解决方案四:
if(UploadFile.Value!=null&&UploadFile.Value!="")//就到这打一个吧{FileUpLoad();}
解决方案五:
引用3楼u013053259的回复:
if(UploadFile.Value!=null&&UploadFile.Value!="")//就到这打一个吧{FileUpLoad();}
还是不行啊
解决方案六:
protectedvoidButton1_Click(objectsender,EventArgse){if(UploadFile.Value!=null&&UploadFile.Value!="")//这里打断点,然后F10追踪{FileUpLoad();}
解决方案七:
if(Request["ID"]!=null){先在这里打断点,看到底走进insert里了还是update里了,再看到底哪里出的问题顺便看看this.TextBox1.Text和fname都是什么报操作失败只不过是报数据库操作失败FileUpLoad();这个函数根本没有返回值,它到底执行成功还是执行不成功都跟你后面弹出信息没有一毛钱关系
解决方案八:
iRet=DBHelper.ExecSql(SQL);走到这里之后,断点跟进去看,看到底报什么错误,导致iRet是false话说,这里不是应该返回受影响的函数吗,为什么返回的是个bool值??严重怀疑你胡乱封装的数据库操作类有很大问题
解决方案九:
返回受影响的函数->返回受影响的行数
解决方案十:
引用5楼starfd的回复:
protectedvoidButton1_Click(objectsender,EventArgse){if(UploadFile.Value!=null&&UploadFile.Value!="")//这里打断点,然后F10追踪{FileUpLoad();}
解决方案十一:
引用4楼u012739423的回复:
Quote: 引用3楼u013053259的回复:
if(UploadFile.Value!=null&&UploadFile.Value!="")//就到这打一个吧{FileUpLoad();}还是不行啊
你打个断点看下数据看问题出在哪?
解决方案十二:
if(UploadFile.Value!=null&&UploadFile.Value!=""){FileUpLoad();}还有,你只判断了不为空就执行上传为空呢,为空,不上传,却还执行写入数据库的代码???这是什么坑爹的逻辑
解决方案十三:
引用11楼Z65443344的回复:
if(UploadFile.Value!=null&&UploadFile.Value!=""){FileUpLoad();}还有,你只判断了不为空就执行上传为空呢,为空,不上传,却还执行写入数据库的代码???这是什么坑爹的逻辑
我简直就是菜鸟快帮帮我大神
解决方案十四:
把后面操作数据库的代码都写到if里去else里写Response.Write("<script>alert('请选择上传文件!');document.location=document.location;</script>");