| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 448 人关注过本帖
标题:求助!关于数据库的问题!
只看楼主 加入收藏
zhangjp
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2006-4-7
收藏
 问题点数:0 回复次数:0 
求助!关于数据库的问题!

目标:

利用Swing制作查询界面,在界面中输入客户公司名字的全部或一部分,利用模糊查询的方式,将与查询条件相匹配的客户的所有订单情况进行查询,并输出在界面的JTable中。

输出内容必须包括的项目为:客户公司名称、订单号、订货日期、产品名称、订单数量。

输出结果中,客户公司名称相同的需要排列在一起;同一客户,订单号相同的排列在一起;同一客户,订货日期更近的排在上面,例如,我们输入"tom"作为查询条件,就可能查询出公司名称中包含"tom"的客户之部分数据

我现在可以实现出来,在GUI界面中查看全部内容和安条件查看,但"模糊查询的方式"我还没实现,请教高手们,这个问题,要怎么实现呢?
程序为:
import java.awt.*;
import javax.swing.*;
import javax.swing.table.DefaultTableModel;

import java.awt.event.*;
import java.sql.*;
public class dingdan extends JFrame implements ActionListener{

Container p = this.getContentPane();
JPanel p1 = new JPanel();
JPanel p2 = new JPanel();
JTextField tf = new JTextField(10);
JButton b = new JButton("准确查询");
DefaultTableModel dtm = new DefaultTableModel();
JTable jta = new JTable(dtm);
JScrollPane sp = new JScrollPane(jta);
Connection con;
Statement sta;
ResultSet rst;
ResultSetMetaData rsmd;
String tp;
String[] header;
String[][] content;
int count;
int colNum;
dingdan(){
p.setLayout(new BorderLayout());
p.add(p1,BorderLayout.NORTH);
p1.add(tf);
p1.add(b);
p.add(p2,BorderLayout.CENTER);
p2.add(sp);
cheng();
b.addActionListener(this);
this.setTitle("订单查询系统");
this.setResizable(false);
this.setLocation(300,300);
this.pack();
this.setDefaultCloseOperation(this.EXIT_ON_CLOSE);
this.setVisible(true);
}
public boolean cheng(){
try {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
con = DriverManager.getConnection("jdbc:odbc:mydb");
sta = con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_UPDATABLE);
return true;
}
catch (Exception e) {
e.printStackTrace();
}
return false;
}
public void actionPerformed(ActionEvent arg0) {
tp=tf.getText();
if(arg0.getSource()==b){
try {
rst = sta.executeQuery("select * from Orders where OrderID ='" +tp+"'");
rsmd = rst.getMetaData();
colNum = rsmd.getColumnCount();
header = new String[colNum];
for (int i = 0;i<colNum;i++){
header[i] = rsmd.getColumnName(i+1);
}
while(rst.next()){
count++;
}
rst.first();
content = new String[count][colNum];
for(int i = 0; i<count;i++){
for(int j = 0;j<colNum;j++){
content[i][j] = rst.getString(j+1);
//rst.first();
}
rst.next();
}

dtm = new DefaultTableModel(content,header);
jta.setModel(dtm);
rst.first();
System.out.println("EEE");
} catch (SQLException e1) {
e1.printStackTrace();
System.out.println("WWW");
}
}

}
public static void main(String[] args) {
new dingdan();

}

}

搜索更多相关主题的帖子: 数据库 
2006-05-17 16:29
快速回复:求助!关于数据库的问题!
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.014096 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved