mysql java executeQuery 返回结果出错

在我的电脑上正常运行,在别人电脑上则返回空集。。以确定数据库连接没问题。代码如下:stmt=conn.createStatement();Stringsql="selec... 在我的电脑上正常运行 ,在别人电脑上 则返回空集。。以确定数据库连接没问题。
代码如下:
stmt = conn.createStatement();
String sql = "select B_ID from ex_BASEINFO where B_VALUE='" + input + "'";

set = stmt.executeQuery(sql);

if (set.next()) {
output = set.getString("B_ID");
}
我的电脑上正常,别人电脑上set。next 返回false。但是把sql复制到查询分析器里执行则正常
select B_ID from ex_BASEINFO where B_VALUE='已分配未进行'
这是打印出的sql语句,会不会是中文的问题?
展开
 我来答
llei32wang
2013-05-03 · TA获得超过2736个赞
知道大有可为答主
回答量:1478
采纳率:60%
帮助的人:1445万
展开全部
有可能的你的java保存的字符集如果和数据库中的字符集不同 会出现sql语句查询结果是空。
试下sql语句查询"selec t* from ex_BASEINFO 把中文打印出来看下是不是乱码,如果是乱码就要修改mysql的字符集或者java的字符集就行了。
pyllion
2013-05-03 · TA获得超过818个赞
知道小有建树答主
回答量:661
采纳率:100%
帮助的人:676万
展开全部
String sql = "select B_ID from ex_BASEINFO where B_VALUE='" + input + "'";
改为
String sql = "select * from ex_BASEINFO where B_VALUE='" + input + "'";
或者:
String sql = "select B_ID,B_VALUE from ex_BASEINFO where B_VALUE='" + input + "'";

试试,因为B_VALUE没有选择的,是不可以进行字段操作的;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
24...5@qq.com
2013-05-03 · 超过24用户采纳过TA的回答
知道答主
回答量:125
采纳率:0%
帮助的人:63.9万
展开全部
别人电脑里没有你的database吧
追问
当然有,否则就不是返回空集 而是连接出错了
追答
嗯,这个是,既然查询分析器没问题,那就是你部署项目的时候没部署正确了,好好回想一下,检查一下
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
雪域蓝色冰龙
2013-05-03
知道答主
回答量:7
采纳率:0%
帮助的人:3.6万
展开全部
有没有乱码啊
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
欢乐的尼美
2013-05-03 · TA获得超过220个赞
知道小有建树答主
回答量:294
采纳率:100%
帮助的人:181万
展开全部
是不是别人电脑上 input输入的值真的不存在呢。
追问
输入值没问题 打印出sql语句是这样的
select B_ID from ex_BASEINFO where B_VALUE='已分配未进行'
复制到查询分析器是没问题的。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式