
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语句,会不会是中文的问题? 展开
代码如下:
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语句,会不会是中文的问题? 展开
展开全部
有可能的你的java保存的字符集如果和数据库中的字符集不同 会出现sql语句查询结果是空。
试下sql语句查询"selec t* from ex_BASEINFO 把中文打印出来看下是不是乱码,如果是乱码就要修改mysql的字符集或者java的字符集就行了。
试下sql语句查询"selec t* from ex_BASEINFO 把中文打印出来看下是不是乱码,如果是乱码就要修改mysql的字符集或者java的字符集就行了。
展开全部
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没有选择的,是不可以进行字段操作的;
改为
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没有选择的,是不可以进行字段操作的;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
别人电脑里没有你的database吧
追问
当然有,否则就不是返回空集 而是连接出错了
追答
嗯,这个是,既然查询分析器没问题,那就是你部署项目的时候没部署正确了,好好回想一下,检查一下
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
是不是别人电脑上 input输入的值真的不存在呢。
追问
输入值没问题 打印出sql语句是这样的
select B_ID from ex_BASEINFO where B_VALUE='已分配未进行'
复制到查询分析器是没问题的。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |