使用Global心得
时间:2010-10-10 来源:mr.zhao
最近做个小网站,那些sql语句那是一个烦呀,搞不好哪少个字母多个字母,程序他也不报错,你点button他就是三个字,不鸟你,纠结呀!举个例子,就拿我前几天郁闷我找了半天的小毛病来说
首先,我是想搞个看帖的回复页面,然后一顿搞,JQuery啊,ubbEditor啊,一顿插,ok,模板做好了,接着想实现下AJAX无刷新回复页面,然后建了个数据库,身为学生的我想复习下自己的sql语句,没建什么强类型的DataSet,想用SqlConnection,SqlCommand这种慢慢搞,还好,一系列流水线终于写完了,一SqlHelper搞完,然后就为了响应客户端的请求,就创建了一个一般处理程序,然后接受客户端发来的请求,把这些数据往数据库中查,然后伟大的错误出来了,这个是我当时错误的代码,如下:
SqlHelper.ExecuteNonQuery("Insert into RP_Posts(ThreadId,CreateDateTime,LastUpdateDateTime,Message,Subject,IsFirst) values(@ThreadId,GetDate(),GetDate(),@Message,@Subject,0)", new SqlParameter("ThreadId", id), new SqlParameter("Subject", subject),new SqlParameter("Message", msg), new SqlParameter("Subject", subject))
你看出来了吗??你真的看出来了吗?那好吧,我承认我当时真的2了,不想写new SqlParameter了,Ctrl加C,Ctrl加V!多按了一下Ctrl加V!
那叫一郁闷啊,写完了,调试呗,点了button就是没反应,我想我都Post了,你来点反应也好呀。因为我是一初学者,还以为我是AJAX那点代码写错了,就反反复复的啊,甚至删掉重新写,他就没死活没点反应,看,就在下面,我对这点代码深刻印象仅此于上面的代码~~~
function OnPostFinish(data,status) { if(status=="success"){if(data=="ok"){ $("#ulPosts").append("<li>"+$("#txtSubject").val()+":"+$("#txtMsg").val()+"</li>"); $("#txtSubject").val("");$("#txtMsg").val("");} else{ alert("评论失败:"+data);} }else{ alert("服务器错误:"+status); }
这时候有人说你怎么不会try catch,哎,是啊,当时写的时候能带个try catch多好!!这就p点东西搞的我晚饭都没吃下去,到晚上要睡觉的时候又想了想事不是sql语句写错了,又来回看,感觉没错啊,没少字母呀。。到最后要关电脑的时候,ctm的,我传3个参数,居然有4个SqlParameter!!!!果断删掉,果断调试成功,果断睡觉!
没几天我又想写了一个站内搜索程序,需要在Global中Application_Start方法中定时进行检索,突然发现有个Application_Error方法~~不要笑,作为一个初学者我压力很大,然后我想到几天前做的那个gs的回复页面,在这里能不能看出那个错误信息呢?于是在那个回复程序中加了Global,在Application_Error中加了个断点,查询 HttpContext.Current.Error 一看:{"变量名 '@Subject' 已声明。变量名在查询批次或存储过程内部必须唯一。"} ,哎,当时那泪流满面啊,寻找到了一个宝物!
威武的Global !!!他还有其他很多方法,作为一初学者我的感觉这东西真的很适合我们找那些发癫的程序错误,我深刻理解他的作用不只是这点,我需要不断探索。。Global~~~威武,同样跟我一样的初学者,如果出现雷同我的这样的毛病,就监听Global的Application_Error~~那叫一个相当好用啊!!
这是我第一篇博客随笔,写的没什么知识水平,仅供当个笑话来看~~小弟初来乍到,望交喜欢编程的朋友~~有兴趣的恩哼下~~~哈哈~~