2012-05-24 92 views
0

我正在开发一个Java应用程序,并使用resultset。我写这篇文章的查询,它的工作原理和我得到的结果查询postgres select不返回结果?

SELECT * 
FROM BD 
WHERE 
    CAST(parent_id AS integer) = " + (Integer.parseInt(arrHeading[0])) + " 
    AND CAST(section AS double precision) = " + Double.parseDouble(arrHeading[1]) + ""; 

arrHeading是类型string,但是当我写下面的查询不返回任何结果。 cascharacter varying(12)。我有麻烦,因为它是一个角色,我不知道为什么我没有得到任何结果。我试着用引号,但仍然不起作用。有任何想法吗?

SELECT * 
FROM BD 
WHERE 
    CAST(parent_id AS integer) = " + (Integer.parseInt(arrHeading[0])) + " 
    AND CAST(section AS double precision) = " + Double.parseDouble(arrHeading[1]) + " 
    AND cas = '" + arrHeading[2] + "'"; 

回答

3

我会建议先在查询中的实际值,即硬编码CAS =“‘你valiue’”,并查看该查询返回任何结果

+0

我选择替换[2]替换arrHeading * FROM CAST(parent_id AS integer)=“+(Integer.parseInt(arrHeading [0]))+”AND CAST(section double double precision)=“+ Double.parseDouble(arrHeading [1])+”AND cas ='” + “B1” + “'”;而我得到的结果 – bentham

+0

@bentham - 这是什么打印'arrHeading [2]'显示 – dezso

+0

它打印B1,它是一个字符串 – bentham