我要从数据库中按下面的查询条件,查到我想要的数据
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里面是空值,取不到数据,可数据库里面有,也不报错,请教高手!!!
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里面是空值,取不到数据,可数据库里面有,也不报错,请教高手!!!
从0开始吧!
[当执行到if的时候,就直接跳到List<user>了]明显是没有查询到数据。
2、if(rs.next()){ 这里不应该用If吧,好像是while才对。
3、LZ把代码全部贴出来啊,这样看不全的。就算没有查到数据也不应该跳到List<user>啊。LZ感兴趣可以加入59673719(IT精英)群,大家相互学习,相互交流。
1.跟踪检索条件的值
2.把值带入sql中直接在数据库端执行确认结果
3.if (rs.next()) 不是循环语句,如果想循环用while,如果只想取一条数据,不用修改。
4.如果上面都执行了没发现问题,试着查看数据库连接有没有问题。
看看几个变量的 值是什么 然后 直接用这几个值 作为条件 查询 看看
首先,debug一个下你的程序,是否能查询出数据;
如果没有数据,则说明你的sql语句有问题,把你的sql语句带条件拿到数据库下执行下,看是否有数据
如果能查询,则是你条件类型匹配不对了,仔细检查一下吧!
楼主代码中定义了Chuku ck=null;
但是ck并没有实例化,所以执行
if(rs.next()){
ck.setMaterNum(Integer.parseInt(MaterNum));
可能就会出错吧!还有if(rs.next()){ 这里不应该用If吧,好像是while。
把sql的问号替换掉。 如果查到了,那就是程序的问题。
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));
.......}