问题判断那些年,我们遇到的傻逼问题

本文纯属个人见解,是对前面学习的总结,如有描述不正确的地方还请高手指正~

     人呢,总是在问题中一直的成长。下面跟大家分享几个在做项目过程当中遇到的傻逼问题。

    1、找不到存储过程

    问题和判断

    当遇到这个问题时,我的第一反应就是存储过程名字不对。于是我把存储过程名和数据库中的名字比对了好几遍,都没有发现任何问题。而且,我把错误提示框中的存储过程名复制,然后在数据库中执行,它居然可以顺遂执行。顿时我就无语了,开始怀疑最初的判断,难道不是存储过程名的问题?于是我开始查代码,检查过程堪称是艰辛啊。朋友们,你能猜到问题出在哪里吗?经过长时间的尽力,最后终于发现了问题之地点——存储过程名前多了一个空格。尼玛呀!这都可以,让人无语!

    

    2、浏览器缓存问题

    说到缓存,对它还是有那么一点点的了解,每次遇到关于缓存的问题,关闭浏览器后再重新打开就OK了。可是,有一次,我变动了JS文件,然后在IE中查看变动效果,F5刷新,未看到效果,嘿嘿一笑,缓存问题!关闭浏览器,重新查看效果,仍未看到效果。此时有那么一种潜意识,就是我重新打开了浏览器,确定不是缓存的问题。然后我那个各种找问题啊,最后转了一圈返来,手动清理了缓存,运行!我勒个去,还真是缓存问题啊!这总潜意识,够坑爹!

    

    3、字符串长度问题

    我们做了一个组合查询的功能,然后把判断哪些下拉框起作用的工作交给了存储过程。下面是界面和存储过程当中的代码:
问题和判断

    

    每日一道理
风,渐渐吹起,吹乱了我的发丝,也让我的长裙有些飘动。绿叶仿佛在风中起舞,离开了树,投向了大地,却不知这样会枯萎,我弯下腰,轻轻拾起一片树叶,那非常有序的茎脉,是一种美的点缀。我有些哀叹:绿叶啊,绿叶,你这般美丽地从树上轻轻飘下,随风起舞,却不知已被人称之为落叶!
Declare @sqlStr VARCHAR(300)  --存储sql语句

SET @sqlStr = 'SELECT MAX(SpecializedScheduleID) AS SpecializedScheduleID,CampusName,BuildingName,RoomName,CourseName,GradeName,TeachClassName,' +  
			   'TeacherName,SchoolYear,Semester,StartWeek,StopWeek,OddEven,WorkDay,BeginTimeSectionName,' +
			   'EndTimeSectionName FROM VB_SpecializedCourseScheduleInfo '+ 
			   'WHERE SchoolYear ='+'''' + @schoolYear + ''''+ 
			   ' AND Semester ='+'''' +  @semester + ''''+ 
			   ' AND WorkDay =' + '''' + @week + '''' --合成sql语句,默认按照学年、学期、礼拜、单双周查询
			   --+ ' AND OddEven =' + '''' + @oddEven + ''''  	

 IF (@gradeID!='')										--判断是不是选择年级
	SET @sqlStr = @sqlStr + ' AND GradeID ='+'''' + @gradeID+''''
 IF (@teacherCollegeID!='')										--判断是不是选择教师所属学院
	SET @sqlStr = @sqlStr + ' AND TeacherCollegeID ='+'''' + @teacherCollegeID+''''
 IF (@teacherID!='')										--判断是不是选择教师
	SET @sqlStr = @sqlStr + ' AND TeacherID ='+'''' + @teacherID+''''
 IF (@courseCollegeID!='')										--判断是不是选择课程所属学院
	SET @sqlStr = @sqlStr + ' AND CourseCollegeID ='+'''' + @courseCollegeID+''''
 IF (@courseCategoryID !='')							---判断是不是选择课程类别:归属。指的是选修课性子:人文、社科等
	SET @sqlStr = @sqlStr + ' and CourseCategoryID ='+'''' + @courseCategoryID+''''
 IF(@courseTypeID!='')									--判断是不是选择课程类型:理论、试验。
	SET @sqlStr = @sqlStr + ' and CourseTypeID ='+'''' + @courseTypeID+''''
 IF(@coursePropertyID!='')								--判断是不是选择课程性子:专业课、选修课
	SET @sqlStr = @sqlStr + ' and CoursePropertyID='+'''' + @coursePropertyID +''''
 IF(@courseName !='')										--判断是不是课程名称
	SET @sqlStr = @sqlStr + ' and CourseName like ''%' + @courseName + '%''' 
 IF (@campusID!='')--判断是不是选择校区
	SET @sqlStr = @sqlStr + ' AND CampusID ='+'''' + @campusID+''''
 IF (@buildingID!='')--判断是不是选择修筑
	SET @sqlStr = @sqlStr + ' AND BuildingID ='+'''' + @buildingID+''''
 IF (@roomID!='')--判断是不是选择房间
	SET @sqlStr = @sqlStr + ' AND RoomID ='+'''' + @roomID+''''
 IF (@timeSectionBeginID!='')--判断是不是选择开始节次
	SET @sqlStr = @sqlStr + ' AND ClassBegin ='+'''' + @timeSectionBeginID+''''
 IF (@timeSectionEndID !='')---判断是不是选择结束节次
	SET @sqlStr = @sqlStr + ' AND ClassEnd ='+'''' + @timeSectionEndID+''''	
 IF (@oddEven !='')---判断是不是选择结束节次
	SET @sqlStr = @sqlStr + ' AND OddEven ='+'''' + @oddEven+''''	
	
 SET @sqlStr = @sqlStr + ' GROUP BY CampusName,BuildingName,RoomName,CourseName,GradeName,' +
			   'TeachClassName,TeacherName,SchoolYear,Semester,StartWeek,StopWeek,OddEven,' +
			   'WorkDay,BeginTimeSectionName,EndTimeSectionName'
EXEC (@sqlStr)

    这个问题特殊神奇,它是神马情况呢?我们选择查询条件后, 点击查询按钮,可结果却是偶然候正常显示,偶然涌现错误,而且错误提示还不一样,一会是“and 四周有语法错误”,一会又是“GROUP BY四周有语法错误”。我认认真真、仔仔细细的检查N遍代码,都没有发现任何问题,可是错误仍然会涌现。兄弟们,不知道你们能否体会到我当时的那种心境!经过多次测试,我发现条件下拉框使用少的话,不会涌现错误,一旦使用比拟多的下拉框时就会出问题。最终我还是发现了问题之地点。原来是“Declare @sqlStr VARCHAR(300)

    ”涌现了问题,字符串长度给的太小了,选择下拉框超越一定数量后,sql语句长度就会超出300,错误也就由此发生。尼玛,这么个小破问题,耽误了哥多少工夫!

    

    4、事务日记已满

    看看错误图片:

    问题和判断

    事务日记已满?这类问题还是头一次遇到。上网查了查,人家都说是空间的问题。我查看了一下数据库地点服务器,果然有问题,服务器C盘空间只剩下不幸的几兆了,能不出问题嘛。于是我删除了一些C盘的东东,誊出2个G的空间。心想:这回可以了吧。再次运行程序,执行了一些操作,Perfect,木有问题。可是,当我再次执行刚才出错误的操作时,一样的问题又出来了。我查看了一下日记文件,所占空间684兆,允许最大空间是700兆,心想:10几兆的空间,记录这么一次的操作,怎么也够了吧!可是呢,问题还真出在了这里,当我把最大空间调到7000兆时,问题完善解决了!回头一看日记文件,发现它居然增长了30几兆。这回算是开眼了,日记文件这增长速度够惊人的,难怪出问题呢!好吧,我承认,是我见识浅短了!

    

    当然,在做的过程当中,遇到的问题远不止这么,这里只是挑了几个比拟傻逼的问题跟大家分享一下。不知道大家有木有遇到过一样的问题?

    最后,想说一句话:孩子,你还是太年青了!

文章结束给大家分享下程序员的一些笑话语录: 一位程序员去海边游泳,由于水性不佳,游不回岸了,于是他挥着手臂,大声求.救:“F1,F1!”

--------------------------------- 原创文章 By
问题和判断
---------------------------------

posted @ 2013-05-31 21:49  xinyuyuanm  阅读(671)  评论(0编辑  收藏  举报