System.Data.IDataReader IDR = null;
IDR=FindByName(UserName);
断点 (string)IDR["UserName"];IDR.GetValue(0);IDR["UserName"].ToString();
都会出现异常,请问怎么读取IDR里的值?
IDR=FindByName(UserName);
断点 (string)IDR["UserName"];IDR.GetValue(0);IDR["UserName"].ToString();
都会出现异常,请问怎么读取IDR里的值?
Private System.Data.IDataReader FindByName(string username)
{}
System.Data.IDataReader dss=null;
dss=AddPowerEdu.Security.UserManager.FindByUserName(this.UserName,"Teacher");
string user_id=(string)dss["user_id"];
System.Data.IDataReader dr1=AddPowerEdu.Security.RightManager.FindByRightName(user_id);
if(!dss.Read())
{
string str=(string)dss["user_id"];
Session["id"]="";
Session["id"]="1";
Response.Redirect("Skin2/framedefault.aspx");
}
SqlCommand cmd = new SqlCommand("select * from studentDetails", con);
con.Open();
IDataReader sdr = cmd.ExecuteReader();
while (sdr.Read())
{
Console.WriteLine(sdr["sname"].ToString());
}没有问题..我觉得应该是你FindByName的问题吧..把这个方法下的具体代码贴出来看下..另外把出现的异常也说一下..
string userName,string userType
)
{ // Read the runtime setup.
DataSettings settings = SettingsManager.DataSettings; // Attempt to load the parameters.
SqlParameter[] parms = SqlHelperParameterCache.GetCachedParameterSet(
settings.ConnectionString,
SQL_FIND_BY_USER_NAME
); // Did we fail?
if (parms == null)
{ // Create the parameters.
parms = new SqlParameter[]
{
new SqlParameter(PARM_USER_NAME, SqlDbType.VarChar, 50),
new SqlParameter("@user_type", SqlDbType.VarChar, 50)
}; // Store the parameters in the cache.
SqlHelperParameterCache.CacheParameterSet(
settings.ConnectionString,
SQL_FIND_BY_USER_NAME,
parms
); } // End if we failed to load the parameters. // Assign values to the parameters.
parms[0].Value = userName;
parms[1].Value = userType; // Execute the SQL statement.
return SqlHelper.ExecuteReader(
settings.ConnectionString,
CommandType.StoredProcedure,
SQL_FIND_BY_USER_NAME,
parms
); } // End FindByUserName()