java和数据库空值的问题
当数据库中查询出空值的时候就停止输出了我要怎么写语句让sql语句查询出空值的时候输出为空或者查询出空值的时候强制转换成一个固定值输出(不改动数据库的情况下)》》》谢谢各位...
当数据库中查询出空值的时候就停止输出了 我要怎么写语句 让sql语句查询出空值的时候输出为空 或者查询出空值的时候强制转换成一个固定值输出 (不改动数据库的情况下)》》》谢谢各位大神 ————————小弟在此给跪了~~~~~~
在线等啊 十万火急~~~ 展开
在线等啊 十万火急~~~ 展开
5个回答
展开全部
我最近也是正在学jdbc,我用java输出数据库的时候没有遇到你说的问题啊,是null就输出null了,你可以参考下我的代码,sql语句自己改哦
public void query(){
String sql="select * from emp";
try {
ResultSet rs = st.executeQuery(sql);
rs.last();
int total=rs.getRow();
rs.beforeFirst();
ResultSetMetaData rsmd=rs.getMetaData();
int columnCount = rsmd.getColumnCount();
String[] head =new String[columnCount];
for(int i=1;i<=columnCount;i++){
head[i-1]=rsmd.getColumnName(i);
}
String[][] body=new String[total][columnCount];
int j=0;
while(rs.next()){
String[] col=new String[columnCount];
for(int k=0;k<columnCount;k++){
col[k]=String.valueOf(rs.getObject(head[k]));
}
body[j]=col;
j++;
}
jt=new JTable(body,head);
jsp=new JScrollPane(jt);
jsp.setBounds(0, 200, 800, 580);
jp3.add(jsp);
jt.setEnabled(false);
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public void query(){
String sql="select * from emp";
try {
ResultSet rs = st.executeQuery(sql);
rs.last();
int total=rs.getRow();
rs.beforeFirst();
ResultSetMetaData rsmd=rs.getMetaData();
int columnCount = rsmd.getColumnCount();
String[] head =new String[columnCount];
for(int i=1;i<=columnCount;i++){
head[i-1]=rsmd.getColumnName(i);
}
String[][] body=new String[total][columnCount];
int j=0;
while(rs.next()){
String[] col=new String[columnCount];
for(int k=0;k<columnCount;k++){
col[k]=String.valueOf(rs.getObject(head[k]));
}
body[j]=col;
j++;
}
jt=new JTable(body,head);
jsp=new JScrollPane(jt);
jsp.setBounds(0, 200, 800, 580);
jp3.add(jsp);
jt.setEnabled(false);
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
用nvl函数就可以实现:
例: t_person表 有 name,age字段, number类型吧, 当有age的值为空的时候,我们默认给定20.
name:张三 ,age:
select name,nvl(age,20) from t_person commit;
查询后为:
name:张三,age:20
例: t_person表 有 name,age字段, number类型吧, 当有age的值为空的时候,我们默认给定20.
name:张三 ,age:
select name,nvl(age,20) from t_person commit;
查询后为:
name:张三,age:20
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
可以用case when (不知你用的是否是Oracle数据库),格式为:case when 你要输出的字段 is null then '' else 你要输出的字段 end
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2015-01-26
展开全部
你用一个引用去接收数据库查询出来的值 如果查询不到返回的自然是空 你判断一下 如果返回空就给他赋值一个固定值。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2015-01-26
展开全部
我不知道你用什么数据库.还有你的问题不太清晰.
oracle里面有个函数叫做 nvl
nvl(t.a,'hello') 当t.a字段为null时,会得到hello字符串
oracle里面有个函数叫做 nvl
nvl(t.a,'hello') 当t.a字段为null时,会得到hello字符串
更多追问追答
追问
我用的是sql server 我可以把代码发给你 你帮我看一下行吗?
追答
嗯. 发我看看, 发我邮箱吧 lian00jian@163.com
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询