Java及数据库相关问题

daikeyang 2009-11-16 06:16:40
大家好,我最近做一个作业,已经想了好久,在网上也查了好久,依然是一点头绪都没有,希望大家可以帮帮忙。要求如下:

设计一个程序使得它能产生如下SQL产生的结果:
Select O.Orderdate, AVG(P.SupplyCost * P.AvailQty)
From LineItem L, Orders O, PartSupp P
Where L.OrderKey = O.OrderKey And P.PartKey = L.PartKey And P.SuppKey=L.SuppKey
Group By O.OrderData
Having Avg(P.SupplyCost * P.AvailQty) < param1

(param1是一个参数,在Runtime时提供; 程序用C++,Java或C编写)

请问各位高手,这个问题到底要怎么下手,我一点想法都没有,很急,希望大家帮帮忙,救救急!

先谢谢大家了
...全文
74 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
老张-AI 2009-11-18
  • 打赏
  • 举报
回复

运行下2楼代码 稍微改一点就好了啊
sangshusen_1988 2009-11-18
  • 打赏
  • 举报
回复
不查询数据库那你数据从哪儿来呀
想不起来了 2009-11-18
  • 打赏
  • 举报
回复
问题似乎不太清晰
wuguowei1314 2009-11-18
  • 打赏
  • 举报
回复
你所说的程序,不能用sql语句吗?还是把这个sql分开写
daikeyang 2009-11-17
  • 打赏
  • 举报
回复
谢谢closewbq的回答,但不是这样的。

是要自己用Java代码从一个数据表中取出数据,通过判断键值是否相同来自己合并每一行数据。编的程序的运行结果要和上面的SQL执行结果一样。

你其实还是使用了DBMS的SQL语句,在我的作业里不可以有这样写。

不过谢谢你的回答,你还有什么想法吗?
heyi10012 2009-11-16
  • 打赏
  • 举报
回复
差不多就和2楼的了。
closewbq 2009-11-16
  • 打赏
  • 举报
回复

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
public class OracleOperating{
private final static String DB_URL = "jdbc:oracle:thin:@你的ID:1521:数据库名称";
private final static String DB_DRIVER = "oracle.jdbc.driver.OracleDriver";
private final static String DB_USERNAME = "你的用户名";
private final static String DB_PASSWORD = "你的密码";
public Connection getConnection(){
Connection conn = null;
try{
Class.forName(DB_DRIVER);
conn = DriverManager.getConnection(DB_URL,DB_USERNAME,DB_PASSWORD);
}catch(Exception ex){
ex.printStackTrace();
}
return conn;
}

public void closeConnection(Connection conn){
try{
if(conn!=null){
if(!conn.isClosed()){
conn.close();
}
}
}catch(Exception ex){
ex.printStackTrace();
}
}

public void select(String param) throws SQLException{
Connection conn=getConnection();
String sql="Select O.Orderdate, AVG(P.SupplyCost * P.AvailQty) " +
"From LineItem L, Orders O, PartSupp P " +
"Where L.OrderKey = O.OrderKey And P.PartKey = L.PartKey " +
"And P.SuppKey=L.SuppKey Group By O.OrderData " +
"Having Avg(P.SupplyCost * P.AvailQty) <?";
PreparedStatement pstat=conn.prepareStatement(sql);
pstat.setString(1, param);
ResultSet rs=pstat.executeQuery();
while(rs.next()){
//进行遍历
}
rs.close();
closeConnection(conn);
}

}
JavaAlpha 2009-11-16
  • 打赏
  • 举报
回复
你的程序就是为了实现你的这个查询功能吗?
酒店管理系统分为前台和后台两个部分,其中后台供管理员管理系统之用,包括客房类型设置模块、客房设置模块以及操作员设置三个子模块,具体的功能模块如下。 客房类型设置模块:该模块用来管理酒店的所有客房类型,包括新增客房类型、编辑已有客房类型、删除客房类型等功能。 客房设置模块:该模块用来管理酒店的所有客房信息,包括新增客房、编辑已有客房、删除客房等功能。 操作员设置模块:该模块用来管理酒店的操作员信息,包括新增操作员、编辑已有操作员信息、删除操作信息等功能。 系统前台供酒店所有工作人员使用,包括入住登记模块、结账模块、预定模块、客户管理模块以及业务统计五个模块。具体的功能模块如下。 入住登记模块:该模块用来登记客户的入住信息,其中入住信息包括登记信息、客人信息以及费用信息三部分。 结账模块:该模块用来处理客户的退房信息,只需要知道客户所住的房间号码,就能进行退房结账。 预定模块:该模块用来处理客户的预定信息,除了可以新增预定信息外,还可以对已有的预定信息进行管理。 客户管理模块:该模块用来管理客户的登记信息,包括新增客户信息、编译已有客户信息、删除客户信息等功能。 业务统计模块:该模块用来统计酒店的客房出租率,并且已图形报表的形式来显示出租率信息。 本系统的开发工具具体如下。 系统开发平台:MyEclipse 6.5。 数据库管理系统软件:MySQL 5.0。 java开发包:JDK 5.0以上。 Web服务器:Tomcat 6.0。 本系统采用MVC架构模式开发,具体技术如下。 AJAX框架:使用ExtJS技术开发 显示层:使用JSP技术开发 数据访问层:使用DAO模式开发 持久层:使用Hibernate框架开发 首页访问地址 :http://localhost:8080/JavaPrj_9/首页配置 页面 修改 打开web.xml 修改 即可 /WEB-INF/pages/userLogin.jsp 复制代码 数据库配置 为hotel-hibernate.xml 文件 测试了将近2个小时 系统跑的还不错 一下小细节 bug 大家可以自己去调整下

51,410

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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