PLEZ help me to retrive date from access to jtable.......
import java.awt.BorderLayout;
import java.sql.*;
import javax.swing.*;
import java.awt.event.*;
import java.util.*;
public class StudentIssueView extends JFrame {
private Connection connection;
private JTable table;
private Object currentRow;
public StudentIssueView ()
{
try {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
connection=DriverManager.getConnection("jdbc:odbc:college" );
}
catch(ClassNotFoundException cnfex) {
System.err.println("Failed to load Jdbc/Odbc driver.");
cnfex.printStackTrace();
System.exit(1);
}
catch(SQLException sqlex) {
System.err.println("Unable to connect");
sqlex.printStackTrace();
}
getTable();
setSize(1000,150);
setVisible(true);
setResizable(false);
}
private void getTable()
{
Statement statement;
ResultSet resultSet;
try
{
String query="Select * from Student";
statement=connection.createStatement();
resultSet=statement.executeQuery(query);
displayResultSet(resultSet);
statement.close();
}
catch(SQLException sqlex) {
sqlex.printStackTrace();
}
}
private void displayResultSet(ResultSet rs)throws SQLException
{
boolean moreRecords=rs.next();
if(!moreRecords) {
JOptionPane.showMessageDialog(this, "ResultSet contained no records");
setTitle("No records to display");
return;
}
setTitle("Student Book Issue Details");
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);
getContentPane().add(scroller, BorderLayout.CENTER);
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)
switch(rsmd.getColumnType(i)) {
case Types.VARCHAR:
HAR:
currentRow.addElement(rs.getString(i));
break;
case Types.INTEGER:
currentRow.addElement( new Long(rs.getLong(i)));
break;
case Types.DATE:
currentRow.addElement( new Long(rs.getLong(i)));
break;
case Types.TIME:
currentRow.addElement( new Long(rs.getLong(i)));
break;
default:
System.out.println("Type was:" + rsmd.getColumnTypeName(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 StudentIssueView app=new StudentIssueView();
app.addWindowListener(
new WindowAdapter() {
@Override
public void windowClosing(WindowEvent e)
{
app.shutDown();
System.exit(0);
}
});
}
}
import java.awt.*;
import java.sql.*;
import java.util.*;
import javax.swing.*;
import java.awt.event.*;
import javax.swing.table.*;
public class JTableDatabase {
public static void main(String[] args) {
Vector columnNames = new Vector();
Vector data = new Vector();
JPanel p=new JPanel();
try {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection con = DriverManager.getConnection("jdbc:odbc:access");
String sql = "Select * from data";
Statement stmt = con.createStatement();
ResultSet rs = stmt.executeQuery( sql );
ResultSetMetaData md = rs.getMetaData();
int columns = md.getColumnCount();
for (int i = 1; i <= columns; i++) {
columnNames.addElement( md.getColumnName(i) );
}
while (rs.next()) {
Vector row = new Vector(columns);
for (int i = 1; i <= columns; i++){
row.addElement( rs.getObject(i) );
}
data.addElement( row );
}
rs.close();
stmt.close();
}
catch(Exception e){
System.out.println(e);
}
JTable table = new JTable(data, columnNames);
TableColumn col;
for (int i = 0; i < table.getColumnCount(); i++) {
col = table.getColumnModel().getColumn(i);
col.setMaxWidth(250);
}
JScrollPane scrollPane = new JScrollPane( table );
p.add( scrollPane );
JFrame f=new JFrame();
f.add(p);
f.setSize(600,400);
f.setVisible(true);
}
}