Problems with DataReader
-
Hey guys below is a block of code I'm using to get data from my DataBase using a DataReader but after running the code the DataReader is empty tell what I'm I doing wrong. I'm using Microsoft.Practices.EnterpriseLibrary.Data to access my Database
Database dbuser = DatabaseFactory.CreateDatabase("Portal");
DbCommand cmd = dbuser.GetStoredProcCommand("GetPassword");
DbCommand cmdUpdate = dbuser.GetStoredProcCommand("UpdateLastActivityByEmail");dbuser.AddInParameter(cmd, "Email", DbType.String, username);
dbuser.AddInParameter(cmd, "Password", DbType.String, EncryptData(password));dbuser.AddInParameter(cmdUpdate, "Email", DbType.String, username);
dbuser.AddInParameter(cmdUpdate, "lastActivityDate", DbType.DateTime, DateTime.Now);string pwd = "";
SqlDataReader dbrUsers = null;
dbrUsers = (SqlDataReader)dbuser.ExecuteReader(cmd);try
{if (dbrUsers.RecordsAffected > 0) { dbrUsers.Read(); pwd = dbrUsers.GetString(0); } }
catch(Exception e)
{
}Please Help!
Index out of bound.
-
Hey guys below is a block of code I'm using to get data from my DataBase using a DataReader but after running the code the DataReader is empty tell what I'm I doing wrong. I'm using Microsoft.Practices.EnterpriseLibrary.Data to access my Database
Database dbuser = DatabaseFactory.CreateDatabase("Portal");
DbCommand cmd = dbuser.GetStoredProcCommand("GetPassword");
DbCommand cmdUpdate = dbuser.GetStoredProcCommand("UpdateLastActivityByEmail");dbuser.AddInParameter(cmd, "Email", DbType.String, username);
dbuser.AddInParameter(cmd, "Password", DbType.String, EncryptData(password));dbuser.AddInParameter(cmdUpdate, "Email", DbType.String, username);
dbuser.AddInParameter(cmdUpdate, "lastActivityDate", DbType.DateTime, DateTime.Now);string pwd = "";
SqlDataReader dbrUsers = null;
dbrUsers = (SqlDataReader)dbuser.ExecuteReader(cmd);try
{if (dbrUsers.RecordsAffected > 0) { dbrUsers.Read(); pwd = dbrUsers.GetString(0); } }
catch(Exception e)
{
}Please Help!
Index out of bound.
-
use it like below.. try { while(dbrUsers.Read()); { pwd = dbrUsers.GetString(0); } } catch(Exception e) { }
-
Hey guys below is a block of code I'm using to get data from my DataBase using a DataReader but after running the code the DataReader is empty tell what I'm I doing wrong. I'm using Microsoft.Practices.EnterpriseLibrary.Data to access my Database
Database dbuser = DatabaseFactory.CreateDatabase("Portal");
DbCommand cmd = dbuser.GetStoredProcCommand("GetPassword");
DbCommand cmdUpdate = dbuser.GetStoredProcCommand("UpdateLastActivityByEmail");dbuser.AddInParameter(cmd, "Email", DbType.String, username);
dbuser.AddInParameter(cmd, "Password", DbType.String, EncryptData(password));dbuser.AddInParameter(cmdUpdate, "Email", DbType.String, username);
dbuser.AddInParameter(cmdUpdate, "lastActivityDate", DbType.DateTime, DateTime.Now);string pwd = "";
SqlDataReader dbrUsers = null;
dbrUsers = (SqlDataReader)dbuser.ExecuteReader(cmd);try
{if (dbrUsers.RecordsAffected > 0) { dbrUsers.Read(); pwd = dbrUsers.GetString(0); } }
catch(Exception e)
{
}Please Help!
Index out of bound.
Try if (dbrUsers.Read()) { //Set your password stuff } Also probably worth checking to see that you are actually returning a value from the SQL?