int Cid = 0;
//float price = 0.0F;
String HtmlStr = "";
String catalogName = handle.getString(request, "catalogName");
String ParCataName = catalogName;
catalogName = handle.GBK2ISO(catalogName);
try
{
String SqlStr1 = "SELECT * FROM " + tb_shop_catalog + " WHERE title = '" + catalogName + "'";
ResultSet rs1 = dbconn.ExeQuery(SqlStr1);
if(rs1.next())
{
Cid = rs1.getInt("id");
}
String SqlStr2 = "SELECT * FROM " + tb_shop_catalog + " WHERE parentid = " + Cid + " ORDER BY id DESC";
for(ResultSet rs2 = dbconn.ExeQuery(SqlStr2); rs2.next();)
{
int SubCid = rs2.getInt("id");
String SubCataName = rs2.getString("title");
HtmlStr = HtmlStr + "<table width=97% border=0 cellspacing=0 cellpadding=4>\n";
HtmlStr = HtmlStr + "<tr>\n";
HtmlStr = HtmlStr + "<td colspan=2 bgcolor=ccccff class=line1>" + ParCataName + " -> <a href=../product_sys/DetailCatalog.jsp?Cid=" + SubCid + "&Catalog_f=" + ParCataName + "&Catalog_s=" + SubCataName + ">" + SubCataName + "</a></td>\n";
HtmlStr = HtmlStr + "</tr>\n";
String SqlStr3 = "SELECT * FROM " + tb_shop_product_info + " WHERE catalog_id = " + SubCid + " ORDER BY id DESC";
for(ResultSet rs3 = dbconn.ExeQuery(SqlStr3); rs3.next();)
{
String ProName = rs3.getString("name");
float price;
price = rs3.getFloat("price");
int pid = rs3.getInt("id");
HtmlStr = HtmlStr + "<tr bgcolor=eeeeee>\n";
HtmlStr = HtmlStr + "<td><a href=../../DetailProInfo.jsp?Pid=" + pid + ">" + ProName + "</a></td><td align=center valign=middle>\u5E02\u573A\u4EF7\uFF1A<font color=red>" +
"\uFFE5<span class=xiexian>"
+ price + "</span></font> \u4F1A\u5458\u4EF7\uFF1A<font color=red>\uFFE5" + rs3.getFloat("member_price") + "</font></td>\n";
HtmlStr = HtmlStr + "</tr>\n";
} HtmlStr = HtmlStr + "</table>\n";
HtmlStr = HtmlStr + "<br>\n";
} dbconn.CloseConn();
}
catch(SQLException ex)
{
System.err.println("aq.executeQuery:" + ex.getMessage()+"ListDetailType");
}
return HtmlStr;
//float price = 0.0F;
String HtmlStr = "";
String catalogName = handle.getString(request, "catalogName");
String ParCataName = catalogName;
catalogName = handle.GBK2ISO(catalogName);
try
{
String SqlStr1 = "SELECT * FROM " + tb_shop_catalog + " WHERE title = '" + catalogName + "'";
ResultSet rs1 = dbconn.ExeQuery(SqlStr1);
if(rs1.next())
{
Cid = rs1.getInt("id");
}
String SqlStr2 = "SELECT * FROM " + tb_shop_catalog + " WHERE parentid = " + Cid + " ORDER BY id DESC";
for(ResultSet rs2 = dbconn.ExeQuery(SqlStr2); rs2.next();)
{
int SubCid = rs2.getInt("id");
String SubCataName = rs2.getString("title");
HtmlStr = HtmlStr + "<table width=97% border=0 cellspacing=0 cellpadding=4>\n";
HtmlStr = HtmlStr + "<tr>\n";
HtmlStr = HtmlStr + "<td colspan=2 bgcolor=ccccff class=line1>" + ParCataName + " -> <a href=../product_sys/DetailCatalog.jsp?Cid=" + SubCid + "&Catalog_f=" + ParCataName + "&Catalog_s=" + SubCataName + ">" + SubCataName + "</a></td>\n";
HtmlStr = HtmlStr + "</tr>\n";
String SqlStr3 = "SELECT * FROM " + tb_shop_product_info + " WHERE catalog_id = " + SubCid + " ORDER BY id DESC";
for(ResultSet rs3 = dbconn.ExeQuery(SqlStr3); rs3.next();)
{
String ProName = rs3.getString("name");
float price;
price = rs3.getFloat("price");
int pid = rs3.getInt("id");
HtmlStr = HtmlStr + "<tr bgcolor=eeeeee>\n";
HtmlStr = HtmlStr + "<td><a href=../../DetailProInfo.jsp?Pid=" + pid + ">" + ProName + "</a></td><td align=center valign=middle>\u5E02\u573A\u4EF7\uFF1A<font color=red>" +
"\uFFE5<span class=xiexian>"
+ price + "</span></font> \u4F1A\u5458\u4EF7\uFF1A<font color=red>\uFFE5" + rs3.getFloat("member_price") + "</font></td>\n";
HtmlStr = HtmlStr + "</tr>\n";
} HtmlStr = HtmlStr + "</table>\n";
HtmlStr = HtmlStr + "<br>\n";
} dbconn.CloseConn();
}
catch(SQLException ex)
{
System.err.println("aq.executeQuery:" + ex.getMessage()+"ListDetailType");
}
return HtmlStr;
//float price = 0.0F;
String HtmlStr = "";//这是返回的String
//catalogName是request输入的文字
String catalogName = handle.getString(request, "catalogName");
String ParCataName = catalogName;//保留
catalogName = handle.GBK2ISO(catalogName);//调用函数
try
{
String SqlStr1 = "SELECT * FROM " + tb_shop_catalog + " WHERE title = '" + catalogName + "'";//在表tb_shop_catalog中找title为catalogName的项
ResultSet rs1 = dbconn.ExeQuery(SqlStr1);
if(rs1.next())
{
Cid = rs1.getInt("id");//得到id
}
String SqlStr2 = "SELECT * FROM " + tb_shop_catalog + " WHERE parentid = " + Cid + " ORDER BY id DESC";//得到以id为父目录的下一层id,下面的也没什么必要看了,主要是Cid一直不能出现正确的,只会是初始的那个,谢谢!
for(ResultSet rs3 = dbconn.ExeQuery(SqlStr3); rs3.next();)
这两句有问题,你这么写的意思是在for循环结束前调用rs.next(),但实际上应该是一进入for循环就调用,不然用rs.getInt是取不到值的你应该这么写:
ResultSet rs2 = dbconn.ExeQuery(SqlStr2);
while(rs2.next()){
//dosomething
}
问题主要是在前面Cid上,不能得到准确的值。
还有个问题是输入 &catalogName=热爱人民
可是输出ParCataName却是乱码了,为什么呢?谢谢。
谢谢