这个sql嵌套查询怎么实现?

vickler 2003-03-28 03:56:49
A表 id,username,log_content,......
B表 id,match_id,opinion
其中A表存储是日志信息,id是自动增加的
B表存储的日志的评论信息,可能针对每个日志有很多的评论

现在要实现一个把某人最新的10条日志信息显示出来,并显示B表中针对某个日志有多少条纪录。

定义两个stmt对象,两个Rst,正确打开了数据库
rst=stmta.exeQuery(sqlstring);
while rsta.next(){
...
rstb = stmtb.exeQuery(..count()*.....where match_id = 'rsta.getInt("id")');

..循环输出
}
但是出现[Microsoft][ODBC SQL Server Driver]连接占线导致另一个 hstmt错误提示,如果只用一个stmt对象,出现ResultSet is closed提示,请问如何解决?


代码如下:
<%
java.sql.Statement Stmtmark;
Stmtmark = Con.createStatement();
java.sql.ResultSet Rstmark;
String username = session.getAttribute("username").toString();
String sqlsearch = "select top 10 log_date,log_filtime,id from log_info where username = '"+username+"' order by id desc";
Rst = Stmt.executeQuery(sqlsearch);
String tempstr_1;
String tempstr_2;
int tempid;
int nummark;
String sqlmarksearch;
while (Rst.next())
{
tempstr_1 = Rst.getString("log_date");
tempstr_2 = Rst.getString("log_filtime");
tempid = Rst.getInt("id");
sqlmarksearch = "select count(*) from opinion where match_id ="+tempid;
Rstmark = Stmt.executeQuery(sqlmarksearch);
Rstmark.next();
nummark = Rstmark.getInt(1);
Rstmark.close();
%>
...............HTML...............
<%}
Rst.close();
Stmt.close();
//Stmtmark.close();
Con.close();
%>
...全文
87 3 打赏 收藏 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
chinaitfan 2003-04-05
  • 打赏
  • 举报
回复
注意及时关闭Stmt对象。
vickler 2003-03-30
  • 打赏
  • 举报
回复
不用sql,能不能在程序里面的循环中用Rst,Stmt实现?
bsd 2003-03-28
  • 打赏
  • 举报
回复
select top 10 * from tableA as a where username='someone'
inner join (select count(*) from tableB group by match_id) as c
on a.id = c.match_id
order by a.id desc
打开链接下载源码: https://pan.quark.cn/s/e18529987bb9 ### ETS中文教程:KNX施耐德智能家居 #### 知识点一:ETS软件概述与启动 ETS(Engineering Tool Software)是由施耐德电气研发的一款专业设计工具,其核心功能在于构建和配置基于KNX标准的智能家居及楼宇自动化系统。KNX代表一种国际公认的开放式标准,该标准在楼宇自动化领域得到广泛应用,其目的是实现不同品牌设备之间的互联互通。 **软件启动方法**:ETS软件可以通过双击其图标来启动,或者从开始菜单中选择“File”->“New Project”,亦或直接使用Ctrl+N快捷键来启动该软件。 #### 知识点二:工程项目创建 在启动新的工程项目时,需要遵循以下流程: 1. **项目命名**:推荐使用数字与字母的组合来命名项目,例如“Officebuildings”,这样的命名方式有助于日后的管理和识别。 2. **构建建筑物模型**:在“Buildings/Functions”部分添加建筑物,自定义其名称(例如“mg”),并确认创建操作。 3. **添加房间**:针对每一个建筑物,可以进一步添加房间,同样地,为房间自定义名称(如“1F”),以此来构建完整的建筑模型。 #### 知识点三:设备加载与配置 设备加载是ETS软件中的核心环节,其作用在于将实际的智能设备(包括开关、传感器等)整合到项目中: 1. **设备加载过程**:在目标房间处进行右键点击,选择“Add Devices”,随后通过“Product Finder”对话框选择合适的制造商和产品系列,以此来加载所需的设备类型。 2. **地址分配**:在设备加载完成后,应手动为其分配独...

81,108

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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