Acessando o banco MySql e Servlet

4 respostas
C

Pessoal,

Estou com o seguinte problema que eh:

Possuo dois registro no banco mas soh que o meu codigo nao encontra nenhum registro. PQ? :mad:

Connection con;

Statement stm;

ResultSet resultado = null;
String nome = solicitacao.getParameter(textusuario);

String senha = solicitacao.getParameter(textsenha);

String pesquisa = select lgfuncionario from tableusuario;

int func = 0;
try

{

Class.forName(“org.gjt.mm.mysql.Driver”);

con = DriverManager.getConnection(“jdbc:mysql://localhost:3306/scadger,root,"");

stm = con.createStatement();

resultado = stm.executeQuery(pesquisa);

} catch (Exception e)

{

System.out.println(e);

}
try

{		

while(resultado.next())

{

if (((resultado.getString(1)).compareTo(nome) == 0) &&

((resultado.getString(1)).compareTo(senha) == 0))

{

func = resultado.getInt(3);				    break;

}		    	

}

}

catch (SQLException e)

{

System.err.println(e);

}

4 Respostas

P

Olá cgirardi

tenta assim:

if (((resultado.getString(1)).equalsIgnoreCase(nome) &&

((resultado.getString(2)).equalsIgnoreCase(senha)))

{

func = resultado.getInt(3); break;

}

mas o melhor seria colocar esses parametros na sua string SQL
e deixar o banco fazer a pesquisa.

Falow;

C

pablodrumond,

Kra eu jah tentei colocar na string SQL mas ele me o erro de syntax

ai eu tentei desta maneira mas acusa outro erro de coluna nao encontrada:
resultado.getInt(3)

PS: as colunas da tabela que eu tenho eh usuario, senha e lgfuncionario

PQ?

P

Olá tenta isso então:

mainResultSet = mainStatement.executeQuery(“SELECT * FROM tabela WHERE usuario = '” + usuario + '" AND senha = ‘" + senha + "’");

O resultset guarda os campos que vc selecionou na SQL,
e não todos os campos da tabela, por isso se vc escrever “SELECT lgfuncionario …”, ele só terá uma coluna, e, portanto não conseguirá achar a coluna 3.

Vc tem que fazer ou um “SELECT * …” e pegar a coluna 3,
ou um “SELECT lgfuncionario …” e pegar a coluna 1.

Entendeu?

Falow;

C

vou tentar fazer

Valeu.

Criado 16 de novembro de 2004
Ultima resposta 16 de nov. de 2004
Respostas 4
Participantes 2