问一个数据的问题 ACCESS !在线

wzw200 2007-12-10 11:26:26
public class A
{
public static void main(String agr[])throws Exception
{
String LikeStr=new String("2006");
String sql = "SELECT foodname,energy,protein,water,InID from foodlist;// where foodname='2006001' ";
// String sql = "SELECT foodname,energy,protein,water,InID from foodlist where foodname="+LikeStr;
Statement stmt = null ;
DataBaseConnection dbc = null ;
System.out.println(sql);

// 下面是针对数据库的具体操作
try
{
// 连接数据库
List<foodlist> all = new ArrayList<foodlist>() ;
dbc=new DataBaseConnection() ;
stmt = dbc.getConnection().createStatement() ;//数据库连接的类DataBaseConnection定义连ACCESS的foodlist表
// 设置模糊查询条件
//pstmt.setString(1,"2006001") ;
// 进行数据库查询操作
ResultSet rs = stmt.executeQuery(sql) ;
while(rs.next())
{
// 查询出内容,之后将查询出的内容赋值给person对象
foodlist foodlist = new foodlist() ;
foodlist.setfoodname(rs.getString(1)) ;
foodlist.setenergy(rs.getInt(2)) ;
foodlist.setprotein(rs.getInt(3)) ;
foodlist.setwater(rs.getInt(4)) ;
foodlist.setId(rs.getString(5)) ;
// 将查询出来的数据加入到List对象之中
all.add(foodlist) ;
}


Iterator iter=all.iterator();
while (iter.hasNext())
{
// foodlist foodlist=(foodlist)iter.next();
System.out.println(">>"+((foodlist)iter.next()).getfoodname());
}
rs.close() ;
stmt.close() ;
}
catch(Exception e)
{

}
}


那位帮忙看看 这个程序的前提是 所有的包都加载了进来 也能运行 !就是 我把sql改一下LIKE 就 没有 结果:
改成String sql = "SELECT foodname,energy,protein,water,InID from foodlist where foodname="+LikeStr;
没有结果
改成
String sql = "SELECT foodname,energy,protein,water,InID from foodlist where foodname="+"\'"+LikeStr+"\'";
也不行

表:foodlist
InID foodname enery protein water
2006001 aa 20 20 20
2006002 bb 20 20 20


上面的程序能输出结果 改了 之后不能 不知道为什么 ?

那位帮看看
...全文
55 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
yufanzy909 2007-12-11
  • 打赏
  • 举报
回复
foodname="+LikeStr;
------------
foodname='aaa' //非参数
foodname='"参数"' //有参数
foodname='%"参数"%' //模糊条件
qybao 2007-12-11
  • 打赏
  • 举报
回复
String sql = "SELECT foodname,energy,protein,water,InID from foodlist where foodname="+"\'"+LikeStr+"\'";
change to
String sql = "SELECT foodname,energy,protein,water,InID from foodlist where foodname='"+LikeStr+"'";
if you want to use like, change it as LS said.
String sql = "SELECT foodname,energy,protein,water,InID from foodlist where foodname like '%"+LikeStr+"%'";
beiouwolf 2007-12-11
  • 打赏
  • 举报
回复
like不是这么写的...
select * from database where field like '%something%'

SELECT foodname,energy,protein,water,InID from foodlist where foodname like '%" + LikeStr + "%'"
wzw200 2007-12-10
  • 打赏
  • 举报
回复
那个 all是 我故意用的 是我为了 测试用的 本来这是返回all 的函数!

62,623

社区成员

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

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