como receber apenas um resultado de uma consulta em um banco de dados mysql?

Jaime Ramos:

Eu estive usando java para conectar a um banco de dados remoto no mysql, já fiz um monte de consultas diferents mas hoje Ive descobriu que cada vez que eu queria olhar para um resultado, eu sempre fui armazenando o resultado / s em um resulset, embora em alguns casos as minhas dúvidas só tem que retornar 0 ou 1 resultado, isso significa que não é possível receber um conjunto de registros que atendem a querie, então que tipo de variável devo usar para armazenar aPENAS uM rESULTADO ?

Abaixo vou postar uma parte do meu código que descrever a situação, ele tem que ser entendido que na tabela "tareas", cada registo tem um título diferente, como um PK.

Desde já, obrigado...

ps = c.prepareStatement("SELECT * FROM tareas WHERE titulo='" + title + "'");
rr = ps.executeQuery();
while (rr.next()) {
    JOptionPane.showMessageDialog(null, "Titulo: " + rr.getString("titulo") + newline + 
              "Creador: " + rr.getString("nombre") + newline + 
              "Receptor: " + rr.getString("receptor") + newline + 
              "Tarea: " + nuevacadena(rr.getString("tarea")) + newline + 
              "fecha de creación:" + lafecha(rr.getString("fecha")));
}
Elliott fresco:

Adicionar um LIMIT; sem que o driver JDBC pode pré-busca mais de uma linha, independentemente da opção 2 (que você também pode fazer). Isso é,

ps = c.prepareStatement("SELECT * FROM tareas WHERE titulo='" + title + "' LIMIT 1");

e, em seguida, alterar (por opção 2)

while (rr.next())

para

if (rr.next())

Além disso, desde que você está usando um PreparedStatement, você deve vincular os seus parâmetros em vez de escrevê-los, literalmente, para a consulta; por exemplo,

ps = c.prepareStatement("SELECT * FROM tareas WHERE titulo=? LIMIT 1");
ps.setString(1, title);

Acho que você gosta

Origin http://43.154.161.224:23101/article/api/json?id=236010&siteId=1
Recomendado
Clasificación