Este meu código acima, está retornando para mim um Object de acordo com o belo funcionamento de meu programa, só que: eu gostaria de saber se tem como eu converter isso para String por exemplo, para jogar em uma variável, pois estou utilizando o INSERT INTO para colocar os dados que o usuário digitou em meu TebleModel para colocar em meu banco.
Modelo é apenas a váriavel de minha TableModel, que nela resume-se dados e colunas para um melhor controle da TableModel. Não sei bem se é resume-se, mas acho que é bem por aí, esse negócio de utilizar TableModel está fundindo minha cabeça, mas creio que chego lá! :lol:
Rafael_Nunes
Se o getValueAt() te retorna um Object, faça um cast para String.
getValueAt(0,0).toString().
ou
(String)getValueAt(0,0)
danieldestro
Se você estiver usando o DefaultTableModel ele SEMPRE retorna uma String. Então isso deveria funcionar:
String x = (String) model.getValue(0,0);
ou então:
String x = model.getValue(0,0).toString();
Mas se você criou o seu próprio model, que controla dados de um tipo específico seu, você terá problemas quando, por exemplo, um dos valores for um Double. Imagine que a coluna 1 retorna um valor Double:
Double d = (Double) model.getValue(0,1);
Sacou o problema?
paulinhohd
Ae galera, valeu mesmo, nem sabia que quando colocava entre parentese, (String)getValueAt(0,0) isso se chamava cast. :lol:
Valeu Rafael e Daniel,
Valeu mesmo, acho que isso resolverá meu problema! 8)
Rafael_Steil
Se o tipo de dado que eh retornado eh uma String, entao voce nao precisa fazer casting numa concatenacao (no caso do teu INSERT), ja que isso eh implicito.
Por outro lado, se voce quiser atribuir a alguma variavel, vai precisar fazer casting sim.
Outro detalhe: Executar statements como
s.executeUpdate("INSERT INTO table (campo) VALUES ('"+variavel+"'");
eh uma bela falha de seguranca. O melhor a fazer eh usar PreparedStatements:
PreparedStatementp=conn.prepareStatement("INSERT INTO table (campo) VALUES (?)");p.setString(1,variavel);p.executeUpdate();p.close();