Ciao a tutti
, ho visto che la query inviata a SQLite non accetta il carattere apice '
e mi lancia l'eccezione
java.sql.SQLException: [SQLITE_ERROR] SQL error or missing database (unrecognized token: "''') ")
però all'inizio del metodo esiste la clausola throws SQLException che dovrebbe bloccare questa segnalazione. Ho provato a mettere
codice:
if(entra!="'"){
ResultSet rs1 = stat.executeQuery("select * from frasi,sigle WHERE cod=num AND sig=('"+entra+"') ");
}
ma poi rs1 non viene riconosciuto nel resto del codice e comunque ottengo l'errore. Copio il codice:
codice:
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class Database4 {
/**Metodo che interroga il database **/
public static String interrogo_database (String entraDb)throws ClassNotFoundException, SQLException
{
String entra = new String(entraDb);
String ritorno = new String();
Class.forName("org.sqlite.JDBC"); //carico il driver
Connection conn = DriverManager.getConnection("jdbc:sqlite:testxxx1.db"); //dico di usare jdbc : sqlite e percorso del database
Statement stat = conn.createStatement(); //creo uno Statement
ResultSet rs1 = stat.executeQuery("select * from frasi,sigle WHERE cod=num AND sig=('"+entra+"') ");
try {
ritorno= rs1.getString("frase");
} catch (Exception e) {
System.out.println(" -Non presente-");
}
/**Stampo la frase presa dal database*/
System.out.println("Frase dal database: " +ritorno);
rs1.close(); //chiudo rs
conn.close(); //chiudo la connessione
return entra;
}
}
Potete darmi una possibile soluzione? Grazie