Dúvida com uso de Banco de Dados

Estou utilizando um banco sqlite. Preciso autenticar usuários. Segue abaixo o código:

public static boolean checkUser(String userName, String password){
		Connection conn = null;
		boolean returnVariable = false;
		try {
			Class.forName("org.sqlite.JDBC");
			conn = DriverManager.getConnection("jdbc:sqlite:capim.db");
		    Statement stat = conn.createStatement();
		    conn.setAutoCommit(true);
		    System.out.println("Usuario: "+userName+", pass: "+password);
		    ResultSet rs = stat.executeQuery("SELECT * FROM users u WHERE u.user = \""+userName+"\" AND u.password = \""+password+"\";");
		    if(rs.next()){
		    	returnVariable = true;
		    } else returnVariable = false;
		    rs.close();

O retorno é verdadeiro pra um usuário válido e falso caso contrário.
O problema é que se eu colocar um usuário e senha direto no código (WHERE u.user = “Ze” AND u.password = “123”; ") funciona,
mas do jeito que está o código acima não. Já troquei por aspas simples, sem aspas… Alguém tem alguma luz?

Use PreparedStatement.
Procure por um exemplo aqui http://www.javaalmanac.com/