请帮我看一下JSP SQL语句

来源:百度知道 编辑:UC知道 时间:2024/06/24 12:18:38
String sql = "select top 400 * from jxfcw_main a,jxfcw_mainclass b,kocm_adds c,kocm_adds d,jxfcw_mainclass e where classid=b.homeclassid and home_jianzusx=e.homeclassid and c.addid=homeadds_shi and d.addid=homeadds_qi order by homeid desc";
表kocm_adds是存放省名和市名的,所以在上面的SQL中,我要使用kocm_adds c,kocm_adds d两个,请问这样有没有写错?
还有一个问题,我如何读取kocm_adds c中的curarea字段?
我用rs.getString("c.curarea")会出错,不显示!
请高手指点
是字符串!
但我用rs.getString("c.curarea")就是不显示!

首先给你一个建议:再用JSP写查询的时候的SQL语句,最好在SQL环境下测试通过了再用.这样的话提示会清晰一些.容易找高错误.

1--kocm_adds c,kocm_adds d 是没有问题的

2-- classid=b.homeclassid 没有指定到表,也就是说classid是哪个表的? 后面好多都是这样,要改掉.

3-- 如果这个字段名称是唯一的,完全可以不加前缀
rs.getString("curarea") 或者使用别名 as (如:from kocm_adds as c)然后加前缀
确保类型一致.

String sql = "select top 400 c.curarea from jxfcw_main a,jxfcw_mainclass b,kocm_adds c,kocm_adds d,jxfcw_mainclass e where 表名.classid=b.homeclassid and 表名.home_jianzusx=e.homeclassid and c.addid=表名.homeadds_shi and d.addid=表名.homeadds_qi order by 表名.homeid desc";

你的列没有指定到相应的表,不能识别。 //......

最好一开始查询的时候确定列名。

在程序里用String str = rs.getString(1); //.....

还有请确认 c.curarea 在数据库中是什么类型。

----------------------------------
kocm_adds c,kocm_adds d 同样的一张表为什么要写2次,完全没必要。

wondds

板櫈!!!

rs.getString("c.curarea") 这句话有问题
如果rs.getString("curarea")这样能取到那最好
如果不行
1、a