public class hadstudy extends JFrame implement ActionListener
{
private JTable table;
private DefaultTableModel dftm;
private link db;
private String sql;
private JLabel q;
private JTextField w;
private JButton B;
final JScrollPane scrollPane = new JScrollPane();
int count1;
public hadstudy()
{
setTitle("已修选课信息");
JLabel q=new JLabel("学号");
JTextField w=new JTextField(10);
JButton B=new JButton("查询");
add(q);
add(w);
add(B);
B.addActionListener(this);
getContentPane().setLayout(new FlowLayout());
final GridBagConstraints grid = new GridBagConstraints();
final JLabel kongbai= new JLabel();
kongbai.setText(" ");
grid.gridy = 0;
grid.gridx = 0;
grid.insets = new Insets(0, 5, 0, 5);
add(kongbai,grid);
grid.fill = GridBagConstraints.BOTH;
grid.insets = new Insets(1, 5, 1, 5);
grid.weighty = 0.5;
grid.gridy =1;
grid.gridx = 0;
add(scrollPane, grid);
table = new JTable();
table.setEnabled(false);
table.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
dftm = (DefaultTableModel)table.getModel();
String[] tableHeads = new String[]{"SNO","课程名称","学分","平时成绩","考试成绩","总评","备注"
};
dftm.setColumnIdentifiers(tableHeads);
xianshi_zhiyuan(dftm);
scrollPane.setViewportView(table);
setBounds(480, 300, 500, 280);
setVisible(true);
setResizable(false);
}
private void xianshi_zhiyuan(DefaultTableModel e)
{
db = new link("YXG");
db.linkdb();
sql="select count(*) from XUANKE ";
db.sqlrun(sql);
db.next();
count1=Integer.parseInt(db.getresult(1));
sql="select * from XUANKE";
db.sqlrun(sql);
for(int i=0;i<count1;i++)
{
db.next();
Vector rowData = new Vector();//java.util包中的
rowData.add(db.getresult(1));
rowData.add(db.getresult(2));
rowData.add(db.getresult(3));
rowData.add(db.getresult(4));
rowData.add(db.getresult(5));
rowData.add(db.getresult(6));
rowData.add(db.getresult(7));
e.addRow(rowData);
}
}
public void actionPerformed(ActionEvent e)
{
if(e.getSource()==B)
{
????????????
}
}
public static void main(String args[])
{
new hadstudy();
}
}我想在这里面添加一个查询功能。该怎样写Action????
{
private JTable table;
private DefaultTableModel dftm;
private link db;
private String sql;
private JLabel q;
private JTextField w;
private JButton B;
final JScrollPane scrollPane = new JScrollPane();
int count1;
public hadstudy()
{
setTitle("已修选课信息");
JLabel q=new JLabel("学号");
JTextField w=new JTextField(10);
JButton B=new JButton("查询");
add(q);
add(w);
add(B);
B.addActionListener(this);
getContentPane().setLayout(new FlowLayout());
final GridBagConstraints grid = new GridBagConstraints();
final JLabel kongbai= new JLabel();
kongbai.setText(" ");
grid.gridy = 0;
grid.gridx = 0;
grid.insets = new Insets(0, 5, 0, 5);
add(kongbai,grid);
grid.fill = GridBagConstraints.BOTH;
grid.insets = new Insets(1, 5, 1, 5);
grid.weighty = 0.5;
grid.gridy =1;
grid.gridx = 0;
add(scrollPane, grid);
table = new JTable();
table.setEnabled(false);
table.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
dftm = (DefaultTableModel)table.getModel();
String[] tableHeads = new String[]{"SNO","课程名称","学分","平时成绩","考试成绩","总评","备注"
};
dftm.setColumnIdentifiers(tableHeads);
xianshi_zhiyuan(dftm);
scrollPane.setViewportView(table);
setBounds(480, 300, 500, 280);
setVisible(true);
setResizable(false);
}
private void xianshi_zhiyuan(DefaultTableModel e)
{
db = new link("YXG");
db.linkdb();
sql="select count(*) from XUANKE ";
db.sqlrun(sql);
db.next();
count1=Integer.parseInt(db.getresult(1));
sql="select * from XUANKE";
db.sqlrun(sql);
for(int i=0;i<count1;i++)
{
db.next();
Vector rowData = new Vector();//java.util包中的
rowData.add(db.getresult(1));
rowData.add(db.getresult(2));
rowData.add(db.getresult(3));
rowData.add(db.getresult(4));
rowData.add(db.getresult(5));
rowData.add(db.getresult(6));
rowData.add(db.getresult(7));
e.addRow(rowData);
}
}
public void actionPerformed(ActionEvent e)
{
if(e.getSource()==B)
{
????????????
}
}
public static void main(String args[])
{
new hadstudy();
}
}我想在这里面添加一个查询功能。该怎样写Action????
返回的集合类存储数据 Vector vec = dao.getAllData(); 就OK了,之后你就只要把vec里面的数据拿出来显示就行了
写的是jdbc连接数据库代码吧!
public static ResultSet fun(String sqlstr) {
try {
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
conn = DriverManager.getConnection("jdbc:microsoft:sqlserver://" + "localhost" + ":" + "1433" +
";databaseName=" + "dbLibary" + ";selectMethod=" + "cursor" +";" , "sa", "1234");
pstmt = conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE);
rs = pstmt.executeQuery(sqlstr);
} catch(Exception ex) {
ex.printStackTrace();
}
return rs;
}懒得看代码了, 传一个封装好的函数, 连接SQL数据库, 数据库叫DBLIBARY, USERNAME, PASSWORD的自己改改