JAVA+derby查询问题

dxy2798 2016-05-22 08:41:14
各位周末好,我学着做了一个JAVA+derby查询,N:\下有derby数据库ldbDerby,下面有table名为mac,里面有如下字段:
"Assets_No";"Department";"Physical_Location";"Domain_UserName";"Host_Address";"MAC_Address";"Memory_Capacity";"WORKGROUP";"Size";"Remark",现在的问题是,在Java中用ResultSet result = stat.executeQuery("SELECT * FROM mac");没有问题,但是加上where就查不到结果了,但是在ij命令行输入时可以正常查到的,比如select "Memory_Capacity" from mac where "Memory_Capacity"='4G';就没问题,但移植到java环境就不行,就是没结果出来。代码如下,哪位帮我看看是什么原因,先谢啦:
代码如下:
    public static void main(String[] args) {  
Connection conn = null;
try{
Class.forName(DERBY_DRIVER);
Properties properties = new Properties();
conn = DriverManager.getConnection(DB_URL, properties);
Statement stat = conn.createStatement();

if (j("mac")) //如果表mac存在,就查询字段内容 j是判断表是否存在的工具方法
{
ResultSet result = stat.executeQuery("SELECT * FROM mac where "Memory_Capacity"='4G'");
while (result.next()) {
System.out.println(result.getString(1) + " | " + result.getString(2) + " | " + result.getString(3) +
" | " + result.getString(7) +" | " + result.getString(9) + " | " + result.getString(10));

}
result.close();
stat.close();
conn.close();
}
else
{ //如果表mac不存在,就新建mac表
//.....................................建表语句略
System.out.println("新建表完毕");
}
}
catch (ClassNotFoundException e) {
e.printStackTrace();
}
catch (SQLException e) {
e.printStackTrace();

}
finally {
// 内嵌模式数据库操作用完之后需要关闭数据库,这里没有执行数据库名称则全部关闭.
try {
DriverManager.getConnection("jdbc:derby:;shutdown=true");
} catch (SQLException e) {
e.getMessage();
}
}
}
...全文
130 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
dxy2798 2016-05-22
  • 打赏
  • 举报
回复
要是不加单引号,就产生“”列“MEMORY_CAPACITY”不在 FROM 列表的任何表中“”的错误,这怎么回事呀
dxy2798 2016-05-22
  • 打赏
  • 举报
回复
第11行实际代码用的是单引号,发帖时时从ij粘成双引号了,实际是'Memory_Capacity'

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧