该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
import java.sql.*;
import javax.swing.table.*;
import javax.swing.*;
import javax.swing.table.*;
import java.awt.*;
import java.awt.event.*;
public class t1 {
public static void main(String[] args) {
JTable table;
Query query;
query = new Query();
query.setDatasourceName("myData");
query.setTableName("Student");
Object a[][] = query.getRecord();
int m=a[0].length;
String b[] = new String[m];
for (int i = 0; i < m; i++)
b[i] = "字段" + (i + 1);
table = new JTable(a, b);
JFrame frame3 = new JFrame();
frame3.add(new JScrollPane(table));
frame3.setVisible(true);
frame3.setBounds(20, 20, 300, 400);
frame3.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
public class Query {
String datasourceName = "myData";
String tableName = "Student";
Object a[][];
public Query() {
try {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
}
catch (ClassNotFoundException e) {
System.out.print(e);
}
}
public void setDatasourceName(String s){
datasourceName=s.trim();//去掉前后空格
}
public void setTableName(String s){
tableName=s.trim();
}
public Object[][] getRecord(){
Connection con;//连接
PreparedStatement sql;//数据库操作
ResultSet rs;//数据库查询
try{
String uri="jdbc:odbc:"+datasourceName;
String id="123";
String password="123";
con=DriverManager.getConnection(uri,id,password);
DatabaseMetaData metadata=con.getMetaData();
ResultSet rs1=metadata.getColumns(null,null,tableName,null);
int 字段个数=0;
while(rs1.next()){
字段个数++;
}
int n=getAmount();
a=new Object[n][字段个数];
sql=con.prepareStatement("select Sname from Student");
rs=sql.executeQuery();
int m=0;
while(rs.next()){
for(int k=1;k<=字段个数;k++){
a[m][k-1]=rs.getString(k);
}
m++;
}
con.close();
}
catch(SQLException e){
System.out.println("请输入正确的表名"+e);
}
return a;
}
public int getAmount(){
Connection con;
Statement sql;
ResultSet rs;
try{
String uri="jdbc:odbc:"+datasourceName;
String id="123";
String password="123";
con=DriverManager.getConnection(uri, id, password);
sql=con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_READ_ONLY);
rs=sql.executeQuery("select Sname from"+tableName);
rs.last();
int rows=rs.getRow();
return rows;
}
catch(SQLException exp){
System.out.println(""+exp);
return 0;
}
}
}