帮忙解决这个问题100分

asdffdsa123654 2006-06-29 12:02:01
本人想帮下面的代码(运行后是主窗体)该成运行后是子窗提需要主窗体调运才出来的主窗体叫做forms



package mypackage;
import java.sql.*;

import javax.swing.*;

import java.awt.*;

import java.awt.event.*;

import java.util.*;


public class DisplayQueryResults extends JFrame {


//数据库变量定义

private Connection connection;

private Statement statement;

private ResultSet resultSet;

private ResultSetMetaData rsMetaData;


//GUI变量定义

private JTable table;

private JTextArea inputQuery;

private JButton submitQuery;


public DisplayQueryResults()

{

//Form的标题

super( "首单人查询" );

//url中指定ODBC中设置的DSN名称

String url = "jdbc:odbc:LibraryBase.mdb";

String username = "";

String password = "";

//加载驱动程序以连接数据库

try {

Class.forName( "sun.jdbc.odbc.JdbcOdbcDriver" );

connection = DriverManager.getConnection(

url, username, password );

}

//捕获加载驱动程序异常

catch ( ClassNotFoundException cnfex ) {

System.err.println(

"装载 JDBC/ODBC 驱动程序失败。" );

cnfex.printStackTrace();

System.exit( 1 ); // terminate program

}

//捕获连接数据库异常

catch ( SQLException sqlex ) {

System.err.println( "无法连接数据库" );

sqlex.printStackTrace();

System.exit( 1 ); // terminate program

}

//如果数据库连接成功,则建立GUI

//SQL语句

inputQuery = new JTextArea( "", 2, 30 );
submitQuery = new JButton( "查询" );

//Button事件

submitQuery.addActionListener(

new ActionListener() {

public void actionPerformed( ActionEvent e )

{

getTable();

}

}

);


JPanel topPanel = new JPanel();

topPanel.setLayout( new BorderLayout() );

//将"输入查询"编辑框布置到 "CENTER"

topPanel.add( new JScrollPane( inputQuery), BorderLayout.CENTER );

//将"提交查询"按钮布置到 "SOUTH"

topPanel.add( submitQuery, BorderLayout.SOUTH );

table = new JTable();

Container c = getContentPane();

c.setLayout( new BorderLayout() );

//将"topPanel"编辑框布置到 "NORTH"

c.add( topPanel, BorderLayout.NORTH );

//将"table"编辑框布置到 "CENTER"

c.add( table, BorderLayout.CENTER );

getTable();

this.setSize( 700, 600 );

//显示Form

show();

}


private void getTable()

{

try {
//执行SQL语句
String query = "select 检测站名称,入网时间,健康币,产品金额,收入,提成,加盟金额,加盟奖励,编号,注释,其他 from jcz";
if(!inputQuery.getText().equals(""))
query="select 检测站名称,入网时间,健康币,产品金额,收入,提成,加盟金额,加盟奖励,编号,注释,其他 from jcz where 编号='"+inputQuery.getText()+"'";
//query = query+inputQuery.getText();

statement = connection.createStatement();

resultSet = statement.executeQuery( query );

//在表格中显示查询结果

displayResultSet( resultSet );

}

catch ( SQLException sqlex ) {

sqlex.printStackTrace();

}

}


private void displayResultSet( ResultSet rs )

throws SQLException

{

//定位到达第一条记录

boolean moreRecords = rs.next();

//如果没有记录,则提示一条消息

if ( ! moreRecords ) {

JOptionPane.showMessageDialog( this,

"结果集中无记录" );

setTitle( "无记录显示" );

return;

}

Vector columnHeads = new Vector();

Vector rows = new Vector();

try {

//获取字段的名称

ResultSetMetaData rsmd = rs.getMetaData();

for ( int i = 1; i <= rsmd.getColumnCount(); ++i )

columnHeads.addElement( rsmd.getColumnName( i ) );

//获取记录集

do {

rows.addElement( getNextRow( rs, rsmd ) );

} while ( rs.next() );

//在表格中显示查询结果

table = new JTable( rows, columnHeads );

JScrollPane scroller = new JScrollPane( table );

Container c = getContentPane();

c.remove(1);

c.add( scroller, BorderLayout.CENTER );

//刷新Table

c.validate();

}

catch ( SQLException sqlex ) {

sqlex.printStackTrace();

}

}
private Vector getNextRow( ResultSet rs,ResultSetMetaData rsmd )

throws SQLException

{

Vector currentRow = new Vector();

for ( int i = 1; i <= rsmd.getColumnCount(); ++i )

currentRow.addElement( rs.getString( i ) );

//返回一条记录

return currentRow;

}


public void shutDown()

{

try {

//断开数据库连接

connection.close();

}

catch ( SQLException sqlex ) {

System.err.println( "Unable to disconnect" );

sqlex.printStackTrace();

}

}


public static void main( String args[] )

{

final DisplayQueryResults app =

new DisplayQueryResults();

app.addWindowListener(

new WindowAdapter() {

public void windowClosing( WindowEvent e )

{

app.shutDown();

System.exit( 0 );

}

}

);

}

}


谢谢了

...全文
72 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
asdffdsa123654 2006-06-29
  • 打赏
  • 举报
回复
主  题: 帮忙解决这个问题100分
作  者: asdffdsa123654 ()
等  级:
信 誉 值: 100
所属社区: Java J2SE / 基础类
问题点数: 100
回复次数: 3
发表时间: 2006-06-29 12:01:59
想要分数好说我自然会给 只要能帮我弄出来 500我也给。
sole_lodestar 2006-06-29
  • 打赏
  • 举报
回复
主  题: 帮忙解决这个问题100分
作  者: asdffdsa123654 ()
等  级:
信 誉 值: 100
所属社区: Java J2SE / 扩展类
问题点数: 0
回复次数: 1
发表时间: 2006-06-29 12:01:59

asdffdsa123654 2006-06-29
  • 打赏
  • 举报
回复
这段代码独立运行没问题 但是我想把这个窗体嵌套到另一个程序里 使这个窗体是另一个程序的子窗体。

62,628

社区成员

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

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