Seguinte galera fiz uma consulta aki onde qndo coloco o nome de quem quero procurar ele me retorna os resultados do banco de dados ai dou dois cliques nele e me abre outra tela…mais estou com dois problemas…
1º ele sempre retorna para mim o primeiro cadastro, ou seja, a primeira linha da JTable…
2º não consigo dimensionar cada campo no seu devido lugar,ou seja,colocar no campo nome so o nome da pessoa…endereço so o endereço da pessoa assim por diante…ao inveis disso no campo nome por exemplo vem todos os dados do banco…e eles vem ainda entre “[[]]” dois colchetes…meus unicos problemas são esse dois o resto esta funcionando!
codigo…
[code]
//implementando mostra paciente
public Vector proximalinha(ResultSet rs, ResultSetMetaData rsmd){
Vector linhaAtual = new Vector();
try{
for(int i=1;i<rsmd.getColumnCount();++i){
switch(rsmd.getColumnType(i)){
case Types.VARCHAR:
linhaAtual.addElement(rs.getString(i));
break;
case Types.INTEGER:
linhaAtual.addElement(new Long(rs.getLong(i)));
break;
case Types.TIMESTAMP:
linhaAtual.addElement(rs.getDate(i));
break;
}}
}catch(SQLException ex){
}
return linhaAtual;
}
//mostra paciente
public void mostrapaciente(){
Statement stmt;
ResultSet rs;
try{
Vector cabecalho = new Vector();
final Vector linhas=new Vector();
stmt=conex.createStatement();
rs=stmt.executeQuery("SELECT * FROM paciente WHERE nome LIKE '"+"%"+nome.getText()+"%"+"'");
rs.next();
ResultSetMetaData rsmd=rs.getMetaData();
for(int i=1;i<rsmd.getColumnCount();++i){
cabecalho.addElement(rsmd.getColumnName(i));
}do{
linhas.addElement(proximalinha(rs,rsmd));
}while(rs.next());
final JTable tabela = new JTable(linhas,cabecalho);
JScrollPane scroller = new JScrollPane(tabela);
getContentPane().add(scroller,BorderLayout.CENTER);
tabela.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
tabela.setDefaultEditor(Object.class, null);
tabela.addMouseListener(new MouseAdapter() {
public void mouseClicked(MouseEvent e)
{
if (e.getClickCount() == 2)
{
Point p = e.getPoint();
int row = tabela.rowAtPoint(p);
int col = tabela.columnAtPoint(p);
JanelaPaciente pa =new JanelaPaciente();
for(int i=1;i<linhas.capacity();++i){
pa.nome.setText(linhas+"");
//apois o primeiro campo estar corrento coloco os outros…
} }
}
});
JFrame frame = new JFrame("CADASTRO PACIENTES");
frame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
frame.setSize(600,300);
frame.setLocationRelativeTo(null);
frame.add(BorderLayout.CENTER, new JScrollPane(tabela));
frame.setVisible(true);
stmt.close();
} catch (Throwable t) {}
}
[/code]
da um help ai…vlw