ResultSet.getString()为什么返回的值为什么老是不对?

问题描述

ResultSetresult;//...while(result.next()){System.out.println("Index="+result.getInt(1)+""+"Username="+result.getString(2)+""+"Age="+result.getInt(3));if(result.getString(2)=="Knight")System.out.println("Yes");//这里没办法执行}

已经多次试验了,执行结果是这个Index=1Username=KnightAge=22可是为什么result.getString(2)=="Knight"老是判断为false呢?result.getString(2)的数据类型是text求指教!!!

解决方案

解决方案二:
"Knight".equals(result.getString(2))
解决方案三:
if(result.getString(2).equals("Knight"))前提是,result是非只向前结果集。你的代码里看不出是什么类型的结果集。如果是只向前结果集,则同一条记录的getString(2)方法不能调用被第二次调用,你的代码里第二次调用了。
解决方案四:
引用2楼stonefeng的回复:

if(result.getString(2).equals("Knight"))前提是,result是非只向前结果集。你的代码里看不出是什么类型的结果集。如果是只向前结果集,则同一条记录的getString(2)方法不能调用被第二次调用,你的代码里第二次调用了。

解决了!我是初学数据库编程的,请问什么叫非只向前结果集呢?result不是指向一条记录的吗?result.next()不是就指向下一条记录吗?
解决方案五:
只向前,就是所有指针都只能往前走,对于结果集,只能next而不能previous,对于记录,则只能从第一个字段到最后一个字段,比如一点已经取得了第一个记录,那么就不能在重复取得,而只能去取后面的字段了,比如第二个或者第三个。这种结果集通常是速度最快的。非只向前则可以返回之前访问过的记录或者字段,但速度比较慢。

时间: 2024-07-31 19:33:25

ResultSet.getString()为什么返回的值为什么老是不对?的相关文章

C#查询SqlServer数据库并返回单个值的方法

  本文实例讲述了C#查询SqlServer数据库并返回单个值的方法.分享给大家供大家参考.具体实现方法如下: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 static public string GetSqlAsString(string sqlText, SqlParameter[] sqlParameters, string databaseConnectionString) { string result = ""; Sq

求单选按纽的值,适用单选项及多选项。未选返回false;有选择项,返回选项值。

<form name="frm"><input type="radio" value="1" name="radioName"><input type="radio" value="2" name="radioName"><input type="button" onClick="alert(Ch

VLOOKUP函数返回错误值怎么办?

  VLOOKUP函数 返回错误值的原因和解决方法. 一. VLOOKUP函数基本语法 =VLOOKUP (lookup_value, table_array,col_index_num, [range_lookup]) 这个太复杂了哦,看鹅理解的VLOOKUP函数中文语法吧: =VLOOKUP(查找值,数据源,第几列,模糊查找1/精确查找0) 二. 实例说话 接下来,先看一个VLOOKUP函数的应用实例吧. 通过菜名查询库存数量. C11单元格公式如下: =VLOOKUP(B11,$B$3:$

AFN返回数据值为空,简单问题高悬赏

问题描述 AFN返回数据值为空,简单问题高悬赏 我发现 block里面的数据都是有的,也能打印出来,但是 返回的数据为空 我也知道是异步的问题 自己可以用block接收 但是目前急用 直接需要具体操作 因急用 100块求解决 QQ:396008684 解决方案 这是因为你return toke的时候,异步函数还没有返回,所以toke还没有 执行 toke=dicc[@"token"] 你可以在你的函数中增加一个参数,用block等,这样当异步返回的时候,调用block参数来把数据传递出

操作-asp.net第三方支付,提交成功也返回了支付成功,但是页面取不到返回的值,

问题描述 asp.net第三方支付,提交成功也返回了支付成功,但是页面取不到返回的值, 这样我没办法进行下一步的判断操作,request.querystring,取不到值啊 ,郁闷 解决方案 不知你调用第三方支付的方式,应该是访问第三方的网页,返回应该是html文本内容,调用第三方支付是在客户端还是在服务端?建议在服务端,应该解析返回的字符串,request.querystring是自己客户端发的请求,当然没值了. 解决方案二: 第三方支付,成功后会跳转到你站点某指定路径,并在URL带一些参数返

javascript-js获取css样式返回的值如何进行判断?

问题描述 js获取css样式返回的值如何进行判断? 比如返回了rbg(255,0,0),用直接字符串"rbg(255,0,0)"做相等判断似乎不行,返回false,不知道用什么方法可以做判断? 解决方案 返回了rbg(255,0,0),那么alert下返回值是显示什么的? 解决方案二: 返回值前后可能会有空格,所以判断会可能不相等 解决方案三: 返回的可能不是一个字符串,,typeof看看,,

ajax返回的值一直无法比较

问题描述 ajax返回的值一直无法比较 ajax返回的data与num的一直是false的.尝试了,typeof data和num ,输出的都是string.然后也尝试了toString()等.data == num反回的一直是false,请教一下大神们. function check(){ var num = ""yes""; $.ajax({ cache: false async: false url:""get_session_check.

c++ 传char*给lua 然后lua再返回char* 值不相同

问题描述 c++ 传char*给lua 然后lua再返回char* 值不相同 C++的代码: int main() { lua_State* L = luaL_newstate(); luaL_openlibs(L); luaL_dofile(L, "a.lua"); lua_getglobal(L, "test"); char* str = new char[3]; str[0] = 0; str[1] = 65; str[2] = 66; lua_pushstr

dialog-android怎么确定对话框返回的值是true还是false?

问题描述 android怎么确定对话框返回的值是true还是false? 似乎没有简单的方法获得一个警告框来返回一个简单的值. 下边的代码不起作用(答案变量不能设置在监听器里,事实上它甚至都没有编译) public static boolean Confirm(Context context) { boolean answer; AlertDialog dialog = new AlertDialog.Builder(context).create(); dialog.setTitle("Con