求解 怎么回事?

问题描述

protectedvoidButton1_Click(objectsender,EventArgse){stringconstr="DataSource='MY-PC';IntegratedSecurity=True;Pooling=False;InitialCatalog='zxj'";SqlConnectionconn=newSqlConnection(constr);conn.Open();stringsql="selectcount(*)fromloginwhereusername='"+this.TB_name.Text+"'anduserpwd='"+this.TB_pwd.Text+"'";SqlCommandcmd=newSqlCommand(sql,conn);intstate=Convert.ToInt32(cmd.ExecuteScalar());if(state>0||state==0){Response.Write("正确");}else{Response.Write("错误");}}最后显示的都是这一句Response.Write("正确")不管正确还是错误

解决方案

解决方案二:
if(state>0||state==0)======changeto:if(state>0)stringsql="selectcount(*)fromloginwhereusername='"+this.TB_name.Text+"'anduserpwd='"+this.TB_pwd.Text+"'";========stringsql="selectcount(*)fromloginwhereusername='"+this.TB_name.Text+"'anduserpwd='"+this.TB_pwd.Text+"'";
解决方案三:
if(state>0||state==0)======changeto:if(state>0)stringsql="selectcount(*)fromloginwhereusername='"+this.TB_name.Text+"'anduserpwd='"+this.TB_pwd.Text+"'";========stringsql="selectcount(*)fromloginwhereusername='"+this.TB_name.Text+"'anduserpwd='"+this.TB_pwd.Text+"'";
解决方案四:
还是不行呢讷讷
解决方案五:
引用楼主qq_29513085的回复:

if(state>0||state==0){Response.Write("正确");}else{Response.Write("错误");}}最后显示的都是这一句Response.Write("正确")不管正确还是错误

你是说“即使state<0也会执行这一句”么?贴出你的调试画面来,执行到“这一句”,并且这个画面中确实可以监视到state变量值。
解决方案六:
引用楼主qq_29513085的回复:

intstate=Convert.ToInt32(cmd.ExecuteScalar());if(state>0||state==0){Response.Write("正确");}else{Response.Write("错误");}

你不觉得你写的判断有问题吗???你的else根本就没有机会进入啊找到记录了state肯定就是大于0没找到记录state就是0啊。。。这两种结果都会执行Response.Write("正确");除非返回结果是个负数才会进你的else,但是条件查询的结果只会是大于等于0的值。。根本木有小于0的情况
解决方案七:
1、先在and前增加一个空格username='"+this.TB_name.Text+"'anduserpwd

2、单步调试一下,拿到你的sql变量的值,去数据库执行一下,看返回值是神马?3、你的if条件有问题,显然永远是true。selectcount(*)查询结果,永远大于等于0,所以你的if条件永远成立4、函数执行完,一定要把SqlConnection进行关闭(Close)
解决方案八:
引用楼主qq_29513085的回复:

stringsql="selectcount(*)fromloginwhereusername='"+this.TB_name.Text+"'anduserpwd='"+this.TB_pwd.Text+"'";

只要你这句话不报错,count(*)至少查出来的是0,所以.....
解决方案九:
intstate=Convert.ToInt32(cmd.ExecuteScalar());你这一句,会有<0的情况出现吗
解决方案十:
if(state>0){Response.Write("正确");}else{Response.Write("错误");}
解决方案十一:
看到这代码,吓到了,楼主是学生?问题有:1."'and(如楼上所言,and前需要空格)2.conn.Close();连接没关闭3.SQL注入。在密码框输入:'or1=1--

就登陆成功了。4.if(state>0||state==0)应为:if(state==1)
解决方案十二:
state值不对吧~~~
解决方案十三:
if(state>0||state==0)你自己翻译成中文看看如果state大于0或者state等于0,那么就正确那么什么情况下错误?只剩state小于0了从数据库返回的行数可能小于0?

时间: 2024-09-11 09:49:15

求解 怎么回事?的相关文章

plupload springmvc-关于PLuload在springmvc结合的使用,跪求

问题描述 关于PLuload在springmvc结合的使用,跪求 new plupload.Uploader({ //实例化一个plupload上传对象 browse_button : 'browse', url : '$!request.getContextPath()/batchImpRC.io', flash_swf_url : '$!request.getContextPath()/static/js/plupload/Moxie.swf', silverlight_xap_url :

集成碰到问题

问题描述 提示 :ld: library not found for -lopencore-amrnbclang: error: linker command failed with exit code 1 (use -v to see invocation)  但是在又没有好到这个资源链接 求解怎么回事  感觉demo 3.0 的UI结构不会集成了... 解决方案 将VoiceConvert文件夹重新导入一次.

重新装的JDK,tomcat运行的时候显示这个怎么回事?求解

问题描述 重新装的JDK,tomcat运行的时候显示这个怎么回事?求解 2015-11-24 13:29:34 org.apache.catalina.core.AprLifecycleListener init INFO: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.

dialog-同样的Dialog代码在不同的工程里效果不一样,怎么回事?求解...

问题描述 同样的Dialog代码在不同的工程里效果不一样,怎么回事?求解... 我在同样的环境里面新建了两个工程,里面都用到了Dialog,代码一模一样,但是最后运行效果不一样,真是百思不得其解,下面是代码和效果图: 第一个工程: String [] s = new String[] {"选项1","选项2","选项3","选项4"}; new AlertDialog.Builder(this) .setTitle("

求解答-运行结果怎么回事,dev c++运行从74开始,求解

问题描述 运行结果怎么回事,dev c++运行从74开始,求解 #include #define MAX 100 int main(void) { int count = MAX + 1; while(--count>0){ printf("%d bottles of spring water on the wall," "%d bottles of spring water!n",count,count); printf("Take one dow

请教大家个问题 我用VS调试C#文件时 显示-1 是怎么回事呢?真心真心求解。菜鸟及问题,初学C#

问题描述 如题谢谢!!! 解决方案 解决方案二:什么东西是-1解决方案三:引用楼主qq29779202的回复: 如题谢谢!!! 请说清楚你的问题解决方案四:1true-1false???是这个意思么??解决方案五:就是调试的时候IE浏览器被打开了内容只有一个-1解决方案六:引用4楼qq29779202的回复: 就是调试的时候IE浏览器被打开了内容只有一个-1 解决方案七:能帮助我的麻烦加下我的QQ767513245多谢!!!!解决方案八:有图有真相.解决方案九:难道你就打开了一个c#文件进行的调

wold原来设密码重装系统后打不开是怎么回事?

问题描述 wold原来设密码重装系统后打不开是怎么回事? WOLD文件原来有设密码,电脑重装系统后用原来的密码打不开了怎么弄?求解...

list-List 存放 Map 的get的前面元素 被覆盖 ,求解

问题描述 List 存放 Map 的get的前面元素 被覆盖 ,求解 <% List listMainBoard =(List) mapboard.get(new Integer(0)); Board mainBoard=new Board(); for(int i=0;i<listMainBoard.size();i++) { //循环取得主版块 mainBoard=((Board)listMainBoard.get(i)); %> <tr> <td colspan=

接口-com.android.volley.ServerError 这个错误是怎么回事

问题描述 com.android.volley.ServerError 这个错误是怎么回事 如题所示,安卓调用接口,网页访问都是正常,但是在安卓端就报这个错误,求解! 解决方案 您好 ,我也遇到一样的问题,请问您当初是怎么解决的?? 解决方案二: 我应该不是楼上的问题,题主的问题是什么呢? 解决方案三: 你访问得到的对象是jsonobject但是你是用jsarray请求的 解决方案四: 楼主的问题解决了没有,表示也遇到了同样的问题? 解决方案五: 服务器端错误啊,应该是服务器端的问题.跟网页请求