Prova questo codice e/o adattalo ai tuoi scopi.
Dovrebbe funzionare.
package tuopackage;
import java.sql.*;
public class DBLink {
private Connection conn=null;
public DBLink(){
Connection conn=null;
try{
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
String server="jdbc:sqlserver://ServerDB:1433;databaseName=nome_database";
conn = DriverManager.getConnection(server, usernameAdm, passwordAdm)
}
catch(SQLException ex){
System.err.println("SQLException");
ex.printStackTrace();
}
catch(ClassNotFoundException ex){
System.err.println("ClassNotFoundException");
ex.printStackTrace();
}
catch(Exception ex){
System.err.println("Generic Exception");
ex.printStackTrace();
}
System.out.println("OK");
}
public boolean consulta(String user){
boolean risposta=false;
String utente=user;
try{
Statement s = c.createStatement();
String query;
query += " SELECT * from USERDB where utente='" + utente + "'";
ResultSet r = s.executeQuery(query);
while(r.next())
{
risposta = true;
utente = r.getString("utente");
}
r.close();
s.close();
}
catch(SQLException e)
{
System.err.println(e);
}
return risposta;
}
public void closeDB(){
try{
conn.close();
}
catch(SQLException sqlex){
sqlex.printStackTrace();
}
}
}
Mi raccomando non "uccidere" mai le eccezioni, queste sono le informazioni preziose che ci fanno capire gli errori nel listato.
Poi se hai degli errori che non riesci a capire fai un debug così da comprendere la riga responsabile dell'errore, la corretta valorizzazione delle variabili coinvolte etc etc.
Inoltre non capisco la costruzione della tua classe (ho cambiato nome alla variabile dell'oggetto), posto che un oggetto si scrive sempre con la maiuscola, quindi la classe si crea con la maiuscola [Utenti ut=new Utenti()]
utenti ut = new utenti();
ut.setUtente(txt_utente.getText());
if (ut.consulta()){
....
E' sempre bene distinguere la classe che memorizza il nome dell'utente (entity) con la classe che ti fa la connessione al DB e la query (boundary), altrimenti mettiamo tutto in un calderone e non hai più la riusabilità del codice
Nel tuo codice la query è sbagliata.
I preparedStatement non si creano come hai fatto te.
Hai letto un pò di documentazione?
qui un esempio:
PreparedStatement ps_1 = null;
SelectDatiPrecedenti+=" SELECT punti, gol";
SelectDatiPrecedenti+= " FROM Classifica";
SelectDatiPrecedenti+=" WHERE giornata = ? ";
ps_1 = c.prepareStatement(SelectDatiPrecedenti);
ps_1.setInt(1, 15);
P.S. mi aspetto ovviamente che tu abbia inserito la sqljdbc4.jar come librerie esterna e l'abbia aggiunta al tuo classpath, altrimenti non puoi fare nulla.
Ultima domanda: che sistema operativo hai?
Ciao