如何判断数据库中select取到的值是空

问题描述

StringSqluser="selectuserfromuserinformationwhereUserId="+UserId;ResultSetrst2=null;rst2=stm.executeQuery(Sqluser);if(rst2.next())returnvalue=rst2.getInt(1);应该使用if(rst2.next())判断,但是空值时if也为真,rst2.getInt(1)=0;returnvalue=0这个值我还要用到,不能用来判断是空值,谁知道有什么解决办法么?

解决方案

解决方案二:
就是next()方法啊。
解决方案三:
就是用这个判断的booleanflag=false;//为空if(rs2.next()){flag=true;//不为空}

解决方案四:
if判断为null不行吗?
解决方案五:
现在的问题是rs2.next()返回值,不论数据库查询结果是不是空都返回true,数据库查询结果是空时,rst2.getInt(1)=0
解决方案六:
记得有个rst2.rowcount或者类似的方法,先看看拿回来的记录数行不?
解决方案七:
应该使用if(rst2.next())判断,但是空值时if也为真我很怀疑。
解决方案八:
楼主既然通过rst2.getInt(1)=0;判断类数据库查询结果集为空,那问题不就解决了吗,将if条件改为判断rst2.getInt(1)是否为0不就可以了吗?
解决方案九:
再提供一个解决方案:代码:if(rs.next()){list.add(rs.getString(1));while(rs.next()){inti=2;list.add(rs.getString(i++));}returnlist;}else{list.add("Sorry,NosuchUser!");returnlist;}解释一下:最外层用if/else循环,内层while循环,判断如果结果集不为空(rs.next()),那么执行if分支,此时“所谓的”指针已经指向第一条记录了,如果要继续取多条记录,那么只能先以list.add(rs.getString(1))这种方式取出第一条记录,而不能上来就直接while(rs.next()),因为如果这样做,那么此时取出的第一条记录实际上是结果集的第二条记录,既遗失了第一条记录(因为之前已经指向了第一条记录,继续while(rs.next())时是指向了第二条记录)。继续说,取出第一条记录之后,然后再以上面while循环体的方式取出剩下的记录(如果确实还有记录的话,如果没有记录了,循环体不执行,也不会影响效果)。
解决方案十:
rst2.next()是可以判断是否有值的,不知道为什么你那儿不行。不过你代码写成下边这样不就把问题解决了吗?StringSqluser="selectuserfromuserinformationwhereUserId="+UserId;ResultSetrst2=null;rst2=stm.executeQuery(Sqluser);if(rst2.getInt(1)!=0&&rst2.next())returnvalue=rst2.getInt(1);
解决方案十一:
rst2.next()是可以判断是否有值的不然while(rst2.next())的循环咋写的?
解决方案十二:
用rs2.getString(1)==null来判断就行了
解决方案十三:
你先不要使用if(rst2.next())这种判断,虽然这样可以判断出是否存在记录,但是它的游标往下移了一位,你把控不好就不要这么做。最简单的,获取rs2.getInt(1)看看是否有值就行了。
解决方案十四:
可以这样,booleanxxoo=false;while(rst2.next()){xxoo=true;}if(!xxoo){为空;}
解决方案十五:
就是用rst2.next()判断的。。。

时间: 2024-08-03 17:39:10

如何判断数据库中select取到的值是空的相关文章

从SQLSERVER/MYSQL数据库中随机取一条或者N条记录

原文:从SQLSERVER/MYSQL数据库中随机取一条或者N条记录 从SQLSERVER/MYSQL数据库中随机取一条或者N条记录 很多人都知道使用rand()函数但是怎麽使用可能不是每个人都知道 建立测试表 USE [sss] GO CREATE TABLE RANDTEST(ID INT DEFAULT RAND()*100,NAME NVARCHAR(200) DEFAULT 'nihao') GO CREATE INDEX IX_RANDTEST_ID ON RANDTEST(ID)

PHP判断数据库中的记录是否存在的方法_php技巧

本文实例讲述了PHP判断数据库中的记录是否存在的方法.分享给大家供大家参考. 具体实现代码如下: 复制代码 代码如下: <?php    $sql="select * from checklist where game_id=$gid and task='$task' and status='$status'";  $result=mysql_query($sql);    $row = mysql_fetch_array($result, MYSQL_ASSOC);      

(在HTML中)我先将select控件中选取的值取出放入数据库(已经实现),然后我需要查看信息的时候从数据库中取出数据,如何让select控件显示我从数据库中取出的对应的值呢?

问题描述 前台<htmlxmlns="http://www.w3.org/1999/xhtml"><headrunat="server"><title>UntitledPage</title></head><body><formid="form1"runat="server"><div><selectid="Sele

MySql数据库中Select用法小结_Mysql

一.条件筛选 1.数字筛选:sql = "Select * from [sheet1$] Where 销售单价 > 100" 2.字符条件:sql = "Select * from [sheet1$] Where 物品名称 ='挡泥板'" 3.日期条件:sql = "Select * from [sheet1$] Where 物品名称 ='挡泥板'" 4.区间条件:sql = "Select * from [sheet1$] Wh

C#编程向VFP数据库中插入Numeric型的值(foxpro,dbf)

        C#编程向VFP数据库中插入Numeric型的值 最近做一个C#程序,实现将SQLServer中的数据导入到Visual Foxpro6.0的.dbf数据文件中.更新Numeric类型字段的值时出现错误: System.Data.Odbc.OdbcException:ERROR [22018] [Microsoft][ODBC Visual FoxPro Driver]Data type mismatch. 原程序类似如下://--------------------------

asp.net 中 如何将数据库中某一个字段的值显示在8行8列的表格中,点击某个表格的值时还能编辑

问题描述 asp.net 中 如何将数据库中某一个字段的值显示在8行8列的表格中,点击某个表格的值时还能编辑 asp.net 中 如何将数据库中某一个字段的值显示在8行8列的表格中,点击某个表格的值时还能编辑 解决方案 你是要某个字段显示在8行8列的表格中还是说读取数据出来之后是个8行8列的表格,然后显示进去? 可以直接用GRIDVIEW,或者直接用html拼接,至于修改,gridview有自带的commond方法 解决方案二: 数据库有64条记录,把64个记录中的score字段的值全部显示在表

html-如何使用jQuery给HTML中select标签设置默认值?

问题描述 如何使用jQuery给HTML中select标签设置默认值? 页面里有这么一个标签: <select id="user-sex" data-toggle="select" class="form-control select select-primary select-lg"> <option value="0">Secret</option> <option value=&

db2 删除数据库中的所有数据,保留一个空库?

问题描述 db2 删除数据库中的所有数据,保留一个空库? 我要删除db2数据库中的所有数据,但是能不能保留一个空库.语法是什么? 解决方案 如果是空数据库,那就删除数据库再重新创建一个同名的数据库,drop后用create

javascript-HTML 当我点击一个链接时,从数据库中可以获得两个值。

问题描述 HTML 当我点击一个链接时,从数据库中可以获得两个值. <c:forEach var="province" items="${provincelist}"> <a onclick='setProUnis(this)' href="javascript:void(0);" class="xh" id="${province.id}" coId="${province.c