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);
}
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;
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?
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;