J'ai une instruction SQL de base qui recherche un utilisateur et renvoie un enregistrement, mais lorsque je lance un bloc de code indiquant if (myReader.Read()), il renvoie false. J'ai parcouru le code et examiné l'objet lecteur et il contient en fait un enregistrement. ci-dessous est le code.Oracle DataReader renvoie 1 ligne mais la méthode Read renvoie la valeur false
sql: SELECT user_name, user_password, USER_STATE FROM utilisateurs OÙ utilisateurs.id_utilisateur = 123
System.Data.Common.DbCommand _cmd = this.GetCommand(conn, _dbf, sqlText, CommandType.Text);
System.Data.Common.DbConnection _cn = _cmd.Connection;
System.Data.Common.DbDataReader myReader = null;
_cn.Open();
using(_cn) {
myReader = _cmd.ExecuteReader();
if (myReader.Read()) {
<object gets built here with user data returned from sql>
}
}
Est-ce que les résultats de retour de la requête lorsqu'il est exécuté à partir développeur sqlplus ou sql ? – thecoop
oui, a couru le sql en crapaud et il a retourné les résultats. Vérifié la chaîne de connexion pointait vers la base de données correcte. – TampaRich