Pedrosa 4 de dez. de 2007
Coloque a clausula order by nomedocampo no final de sua query:
select nomedocampo from clientes order by nomedocampo
wamarra 4 de dez. de 2007
Cara, por que não tenta fazer a conexão da seguinte maneira:
try {
Class.forName("com.mysql.jdbc.Driver") ;
String url = " jdbc : mysql :// localhost : 3306 / seuBanco ";
String usuario = ""; //Caso não tenha usuário
String senha = ""; //Caso não tenha senha
Connection con;
con = DriverManager.getConnection(url, usuario, senha);
PreparedStatement ps = con.prepareStatement(" SELECT seuOuSeusCampos FROM tabela ");
ResultSet rs = ps.executeQuery();
if (rs.next()){
jcombobox1.addItem(rs.getString(" nomedocampo "));
}
con.close();
}catch (ClassNotFoundException e ){
JOptionPane.showMessageDialog(null, " Falha na conexão . \ n " + e.getMessage(), " Mensagem do Programa ", JOptionPane.ERROR_MESSAGE);
e.printStackTrace();
}catch (SQLException e){
JOptionPane.showMessageDialog(null, " Erro ao tentar selecionar . \ n " + e.getMessage(), " Mensagem do Programa " , JOptionPane . ERROR_MESSAGE );
e.printStackTrace() ;
}
e caso queira que venha na ordem tem que colocar a cláusula ORDER BY como nosso amigo ali em cima falou
Abraços
Pedrosa 4 de dez. de 2007
Aff que gambiarra.
Primeiramente isole sua conexão em uma classe separada, e chame por ConnectionFactory, imagine que tenha diversas classes , vc cria uma conexão para cada uma?, pelo amor de Deus não façam isso, isole também em classes DAO, onde costuma criar acesso ao banco, retorne uma lista do objeto que precisa:
...
List < Usuario > usuarios = new ArrayList < Usuario > () ;
try {
connection = ConnectionFactory .getConnection () ;
stmt = connection .prepareStatement ( query ) ;
rs = stmt .executeQuery () ;
while ( rs .next ()) {
Usuario usuario = new Usuario () ;
usuario .setIdusuario ( rs .getInt ( "idusuari" )) ;
usuario .setNmUsuario ( rs .getString ( "nmusuario" )) ;
usuarios .add ( usuario ) ;
}
...
return usuarios ;
Onde sua classe que monta a combo poderia chamar assim:
for ( Usuario usuario : new SuaClasseDAO .getUsuarios ()) {
// popule a sua combo
}
Você pode melhor muito esse modelo, de uma pesquisada em MVC.
wamarra 4 de dez. de 2007
Pedrosa:
Aff que gambiarra.
Primeiramente isole sua conexão uma classe separada em uma ConnectionFactory, imagine que tenha diversas classes , vc cria uma conexão para cada uma?, pelo amor de Deus não façam isso, isole também em classes DAO, onde costuma criar acesso ao banco, retorne uma lista do objeto que precisa:
...
List < Usuario > usuarios = new ArrayList < Usuario > () ;
try {
connection = ConnectionFactory .getConnection () ;
stmt = connection .prepareStatement ( query ) ;
rs = stmt .executeQuery () ;
while ( rs .next ()) {
Usuario usuario = new Usuario () ;
usuario .setIdusuario ( rs .getInt ( "idusuari" )) ;
usuario .setNmUsuario ( rs .getString ( "nmusuario" )) ;
usuarios .add ( usuario ) ;
}
...
return usuarios ;
Onde sua classe que monta a combo poderia chamar assim:
for ( Usuario usuario : new SuaClasseDAO .getUsuarios ()) {
// popule a sua combo
}
Você pode melhor muito esse modelo, de uma pesquisada em MVC.
Sabe de algum tutorial que explique melhor sobre isso?
VLW! :oops:
Pedrosa 4 de dez. de 2007
Existem diversos tutoriais na net sobre MVC:
Essa apostila da caelum é de WEB mais explica legal o conceito de MVC,DAO e outros patterns:
Um curso de Java para Web com tudo que o mercado pede: JSP, Servlet,
MVC, Spring MVC, JDBC e Hibernate
wamarra 4 de dez. de 2007
Pedrosa:
Existem diversos tutorias na net sobre MVC:
Essa apostila da caelum é de WEB mais explica legal o conceito de MVC,DAO e Outros designers:
Um curso de Java para Web com tudo que o mercado pede: JSP, Servlet,
MVC, Spring MVC, JDBC e Hibernate
Valeu cara,
Darei uma olhada