To estudando java e uso o JCreator. Tenho o seguinte código para “compilar” e apresenta 2 erros, por enquanto ,como segue. ALGUÉM PODE ME AJUDAR A SOLUCIONÁ-LOS E SE PORVENTURA OS OUTROS QUE HOUVER? OBRIGADO
import java.sql.*;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.util.*;
public class TableDisplay extends JFrame
{
private Connection connection;
private JTable table;
public TableDisplay()
{
String url="jdbc:odbc:Books";
String username="anonymous";
String password="guest";
try
{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
connection=DriverManager.getConnection(url, username, password);
}
catch(ClassNotFoundException cnfex)
{
System.err.println("Failed to load JDBC/ODC DRIVER.");
cnfex.printStackTrace();
System.exit(1);
}
catch(SQLException sqlex)
{
System.err.println("UNABLE TO CONNECT");
sqlex.printStackTrace();
}
getTable();
setSize(450,150);
show();
}//fim TableDisplay
private void getTable()
{
Statement statement;
ResultSet resultset;
try
{
String query="SELECT * FROM Authors";
statement=connection.createStatement();
resultset=statement.executeQuery(query);
displayResultSet(resultset);
statement.close();
}
catch(SQLException sqlex)
{
sqlex.printStackTrace();
}
}//fim private void getTable()
private void displayResultSet(ResultSet rs)
{
throws SQLException [color=blue]//O SEGUINTE ERRO AQUI (illegal start of expression)
[/color] boolean moreRecords=rs.next();
if(!moreRecords)
{
JOptionPane.showMessageDialog(this, "RESULTSET CONTAINED NO RECORDS");
setTitle("NO RECORDS TO DISPLAY");
return;
}
setTitle("AUTHORS TABLE FROM BOOKS");
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();
}
}//fim private void displayResultSet(ResultSet rs)
private Vector getNextRow(ResultSet rs, ResultSetMetaData rsmd)
{
throws SQLException //[color=red]O SEGUINTE ERRO AQUI (illegal start of expression)[/color]
Vector currentRow=new Vector();
for(int i=1; i<=rsmd.getColumnCount(); ++i)
{
switch(rsmd.getColumnType(i))
{
case Types.VARCHAR:
currentRow.addElement(rs.getString(i));
break;
case Types.INTEGER:
currentRow.addElement(new Long(rs.getLong(i)));
break;
default:
System.out.println("TYPE WAS: "+rsmd.getColumnTypeName(i));
}
}
return currentRow;
}//fim private Vector getNextRow(ResultSet rs, ResultSetMetaData rsmd)
public void shutDown()
{
try
{
connection.close();
}
catch(SQLException sqlex)
{
System.err.println("UNABLE TO DISCONNECT");
sqlex.printStackTrace();
}
}//fim public void shutDown()
public static void main(String args[])
{
final TableDisplay app=new TableDisplay();
app.addWindowListener(new WindowAdapter()
{
public void windowClosing(WindowEvent e)
{
app.shutDown();
System.exit(0);
}
} );
}
}//fim da classe
[color=red]colocado a tag code e mudado o título, mais atenção na próxima
-> Shoes[/color]