Duda comparación de Strings

Hola, estoy trabajando con un applet el cual llama constantemente a una clase que tiene un método que le devuelve un registro especifico de una tabla de la base de datos por ejemplo, si necesito el atributo recurso que esta el 3er registro de la tabla llamo al método de esta forma: p.recurso(3), el cual consulta a la BD y devuelve un String del recurso ubicado en la fila n°3 de la tabla... Bueno la cosa es que después cuando quiero comparar si el valor que devolvió es igual a otro String no me resulta.. Lo hago así:
import bd.Prueba;
public class aver {
public static void main(String[] args) {
Prueba p= new Prueba();
// TODO Auto-generated method stub
String valor="hola";
if(p.recurso(1).equals(valor))
System.out.println("Son Iguales");
}
}

De esta forma no me dice que son iguales, yo se que p.recurso(1) tiene que devolver el valor "hola", pero no resulta, debería mostrar "Son Iguales"... Ahora si hago la comparación así: if("hola".equals("hola")) SI medice que son iguales, y si la hago así:
if(recurso(1).equals(recurso(1))) TB dice que son iguales, pero no de la forma
if(recurso(1).equals("hola")) A pesar que el metodo recurso(1) devuelve un String y que "hola" tb es un String....¿que podra ser???

1 respuesta

Respuesta
1
Puede ser la codificación en la que tengas tu base de datos, que motor de bases de datos trabajas: ¿Mysql, Postgres, Sqlite? De pronto se que deben tener la misma codificación de caracteres, me refiero que si al crear tu base de datos la especificaste con caracteres ANSI o UTF-8, ya que pueda ser eso lo que no te funciona.
Revisa tu BD y revisa el cambiar la codificación de caracteres a UTF-8 y me dices, ¿vale?
Suerte
Ok, me tincaba que podría ser algo así... mm pero la verdad es que no se como hacer eso que me dices. ¿Estoy usando mysql y el driver que uso es el Connector/J. en que momento de la creación de la BD se especifica el tipo de caracteres o como se cambiaría en el caso que no estoy usando el correcto? ¿Y cuál es el que debería usar? UTF-¿8 o ANSI?.
Si me pudieras ayudar, seria muy importante, ya que de esto dependen varias funcionalidades de mi Software
Pues utiliza UTF-8, casi la gran mayoría de aplicaciones se basa en ese tipo de codificación, para cambiarlo, directamente no sabría decirte, pero puedes utilizar alguna de las herramientas que existen para diseñar y crear bases de datos en mysql: phpMyAdmin, mysqlQuery, etc.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas