数据查询

hongye8412 2010-11-08 04:19:04
我要从数据库中按下面的查询条件,查到我想要的数据
String sql="select * from dbo.user_view where OIWarehCusID=? and MaterNum=? and MaterName=? and MaterDing=? and OIWarehWareT=?";

然后放到List数组里面,返回值是List型的
List<Chuku> user=null;

Chuku ck=null;
try {
PreparedStatement ps=con.prepareStatement(sql);

ps.setString(1,OIWarehCusID);

ps.setString(2,MaterNum);

ps.setString(3,MaterName);

ps.setString(4,MaterDing);

ps.setString(5,OIWarehWareT);
上面这几个ps是查询条件

ResultSet rs=ps.executeQuery();
if(rs.next()){
ck.setMaterNum(Integer.parseInt(MaterNum));
.......

当执行到if的时候,就直接跳到List<user>了,返回的user里面是空值,取不到数据,可数据库里面有,也不报错,

请教高手!!!
...全文
113 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
hongye8412 2010-11-09
  • 打赏
  • 举报
回复
谢谢各位,我试试!
shiaisun 2010-11-08
  • 打赏
  • 举报
回复
上面是我怀疑数据问题。

如果是程序的话:

我建议这样写
try {
PreparedStatement ps=con.prepareStatement(sql);

ps.setString(1,OIWarehCusID);

ps.setString(2,MaterNum);

ps.setString(3,MaterName);

ps.setString(4,MaterDing);

ps.setString(5,OIWarehWareT);
上面这几个ps是查询条件

ResultSet rs=ps.executeQuery();
if(rs.hasNext())
{
while(rs.next()){

ck.setMaterNum(Integer.parseInt(MaterNum));
.......

}

shiaisun 2010-11-08
  • 打赏
  • 举报
回复
建议楼主把这条sql后面where条件填补上去, 在数据库里执行 看能不能拿到值。

例 : String sql="select * from dbo.user_view where OIWarehCusID=? and MaterNum=? and MaterName=? and MaterDing=? and OIWarehWareT=?";
把sql的问号替换掉。 如果查到了,那就是程序的问题。
zigui 2010-11-08
  • 打赏
  • 举报
回复
个人觉得问题可能是:
楼主代码中定义了Chuku ck=null;
但是ck并没有实例化,所以执行
if(rs.next()){
ck.setMaterNum(Integer.parseInt(MaterNum));
可能就会出错吧!

还有if(rs.next()){ 这里不应该用If吧,好像是while。


ttaaoo36 2010-11-08
  • 打赏
  • 举报
回复
建议:
首先,debug一个下你的程序,是否能查询出数据;
如果没有数据,则说明你的sql语句有问题,把你的sql语句带条件拿到数据库下执行下,看是否有数据
如果能查询,则是你条件类型匹配不对了,仔细检查一下吧!
jypapgl 2010-11-08
  • 打赏
  • 举报
回复
6L 说的有道理

debug 到这 ps.setString(1,OIWarehCusID);

ps.setString(2,MaterNum);

ps.setString(3,MaterName);

ps.setString(4,MaterDing);

ps.setString(5,OIWarehWareT);


看看几个变量的 值是什么 然后 直接用这几个值 作为条件 查询 看看
JAVA开发者OO 2010-11-08
  • 打赏
  • 举报
回复
条件不符,根本没数据。。。
cxj61126 2010-11-08
  • 打赏
  • 举报
回复
把跟踪到的SQL语句,直接在数据库查询器里执行一下,就知道什么错了
ousyuryu 2010-11-08
  • 打赏
  • 举报
回复
强烈建议楼主做以下几件事儿
1.跟踪检索条件的值
2.把值带入sql中直接在数据库端执行确认结果
3.if (rs.next()) 不是循环语句,如果想循环用while,如果只想取一条数据,不用修改。
4.如果上面都执行了没发现问题,试着查看数据库连接有没有问题。
wcl_friend 2010-11-08
  • 打赏
  • 举报
回复
1、ps.setString(1,OIWarehCusID);是从1开始的LZ没写错。
2、if(rs.next()){ 这里不应该用If吧,好像是while才对。
3、LZ把代码全部贴出来啊,这样看不全的。就算没有查到数据也不应该跳到List<user>啊。

LZ感兴趣可以加入59673719(IT精英)群,大家相互学习,相互交流。
龙心 2010-11-08
  • 打赏
  • 举报
回复
楼主看一下用ps.setString(2,MaterNum)设值的时候,其数据类型是否和数据库中的保持一致。
[当执行到if的时候,就直接跳到List<user>了]明显是没有查询到数据。

十橙心橙意 2010-11-08
  • 打赏
  • 举报
回复
ps.setString(1,OIWarehCusID);
从0开始吧!
cweijiaweil 2010-11-08
  • 打赏
  • 举报
回复
把where后边的条件删除试试,看看是不是where条件中的值没有找到完全匹配的
龙四 2010-11-08
  • 打赏
  • 举报
回复
就是没查到数据呗
演示下载: http://demo.codechina.net/vf/tsjxc.exe 总部主系统 1 功能 1.1 进货管理 1.1.1 进货单查询、录入、修改、删除、恢复。并将进货数据传至库存模块,经库存审核后自动录入库存库。 1.1.2 缺货清单查询。 1.1.3 退货(退厂)数据查询、打印。根据库存库退货出库所传来的数据自动录入。 1.1.4 统计进货数据,查看和打印统计结果。统计的项目为: 1.1.4.1 任意时段所有商品的进货、退货、保修金额合计。 1.1.4.2 任意时段某一商品的进货、退货、保修数量、金额合计。 1.1.4.3 到目前为止尚未保修返回的金额合计。 1.1.4.4 任意时段所有供应商的进货、退货、保修金额合计。 1.1.4.5 任意时段某一供应商的进货、退货、保修金额合计。 1.1.5 供应商查询、录入、修改、删除、恢复。 1.1.6 保修(保修退厂)数据查询、打印、返回核消。根据库存库保修出库所传来的数据自动审核录入。 1.2 库存管理 1.2.1 初始化库存,录入商品的初始库存数,一旦总帐中已有该商品,则不能再录入初始数。 1.2.2 进、出库数据查询、录入、修改、删除、恢复。审核及自动录入进货模块和代销模块由于进货、出货、退货及保修传来的进出库数据。打印进出库单。 1.2.3 设定商品库存下限。在库存低于下限时报警,并出具下限报警商品清单给进货模块。 1.2.4 盘点。查看、打印盘点表。录入盘盈、盘亏数据。盘亏的数据做为报费数进行统计。残次品库的盘点,盘盈、盘亏数直接在残次品库中处理。 1.2.5 (暂不使用)残次品、报费数据的输入。正品转残次品,从仓库总帐及日记帐中做出库处理,自动转到残次品库;残次品转正品,则自动从残次品库中出库转向总库,总帐及日记帐中做入库处理。 1.2.6 库存数据统计,查看、打印统计数据。统计的项目为: 1.2.6.1 统计到目前为止所有商品的数量、金额合计。 1.2.6.2 任意时段所有商品的进库、出库数量、金额合计。 1.2.6.3 任意时段某一商品的进库、出库数量、金额合计。 1.2.6.4 到目前为止残次品的库存金额合计。 1.2.6.5 任意时段所有商品的报费金额合计。 1.2.6.6 任意时段某一商品的报费数量、金额合计。 1.3 销售管理 1.3.1 记录每一笔销售数据。录入、修改、删除、恢复、查看每一笔从总部的仓库中直接销售出去的数据。并将销售数据自动传送到库存模块用于审核及自动录入。 1.3.2 退货管理。录入、修改、删除、恢复、查看有关退货的数据,并将退货数据自动传给库存模块,由库存审核后自动录入。 1.3.3 保修管理。录入、修改、删除、恢复、查看有关保修的数据,返回核消,并将保修数据自动传给库存模块,由库存审核后自动录入。 1.3.4 统计销售数据,并查看和打印统计数据,按金额排序,标记出数量最多的商品。统计的项目为: 1.3.4.1 任意时段所有商品的销售金额、合计。 1.3.4.2 任意时段某一商品的销售数量、金额合计。 1.4 代销管理 1.4.1 出货单管理。记录每一笔出货给代销商的数据。并将数据传给库存模块,经审核后自动录入。 1.4.2 结算管理。根据出货单中的金额数据记录应付款,代销商每付一笔款,即从结算款中减去相应的数额,余额继续做为应付款。 1.4.3 销售管理。录入、修改、删除、恢复代销商传来的有关销售数据,传送的方式可用纸质、磁盘、电话线。根据销售数计算并自动录入代销点的库存数。 1.4.4 退货(退仓)数据录入、修改、删除、恢复、查看。并将退货数据传给库存模块,由库存审核后自动录入。 1.4.5 保修(保修退仓)数据录入、修改、删除、恢复、查看。并将保修数据传给库存模块,由库存审核后自动录入。 1.4.6 销售统计,并查看和打印统计数据。统计的范围包括某一代销商、全部代销商、包括仓库直接销售,统计的项目为: 1.4.6.1 任意时段所有商品的销售金额、成本、利润合计。 1.4.6.2 任意时段某一商品的销售数量、金额、成本、利润合计。 1.4.6.3 任意时段销售数量、营业额、成本、利润最多、最少的商品。 1.4.6.4 到目前为止,盘点的库存数与上报销售数所推算出的库存数的差额,分别包括数量和金额。 1.4.6.5 任意时段退货金额。 1.4.6.6 任意时段保修金额,及到目前为止尚未保修返还的商品、数量、金额。 1.4.6.7 到目前为止的各代销商及总的应收款金额合计。 1.4.7 盘点。查看、打印盘点表。录入盘点库存数,但不用盘点数修正根据销售数所得的库存数,两个数据都要,并在统计中做比较,以了解代销商押总部货款的数额。 1.5 辅助功能 1.5.1 工作人员管理。 1.5.2 备份。 1.5.3 取备份。 1.5.4 密码管理。 1.5.5 整理数据。将所有数据库重新索引,稽核相关数据。 1.5.6 退出系统。 1.5.7 确认系统日期和时间。 ................... 内容详细文档

67,538

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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