我有另一個問題。我的方法:問題與方法
public StudentProfile GetFullStudentProfile(int userID)
{
SqlConnection conn = new SqlConnection(Config.DbConnectionString);
SqlCommand cmd = new SqlCommand("GetFullUserProfile", conn);
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.Add(new SqlParameter("@UserID", SqlDbType.Int));
cmd.Parameters["@UserID"].Value = userID;
StudentProfile sp = null;
try
{
conn.Open();
SqlDataReader reader = cmd.ExecuteReader(CommandBehavior.SingleRow);
if (reader.Read())
{
sp = new StudentProfile((int)reader["UserID"], (string)reader["UserName"], (string)reader["UserFamilyName"], (DateTime)reader["UserBirthDay"], (string)reader["UserTelephone"], (string)reader["UserEmail"], (DateTime)reader["UserRegDate"], (string)reader["UserComment"], (bool)reader["UserActive"]);
}
reader.Close();
}
catch (Exception ex)
{
//lbl.Text = ex.Message;
}
finally
{
conn.Close();
}
return sp;
}
守則WebUserControl:
protected void ddlStudents_SelectedIndexChanged(object sender, EventArgs e)
{
CatalogAccess ca=new CatalogAccess();
lblEmail.Visible = true;
lblName.Visible = true;
lblTelephone.Visible = true;
HiddenID.Value = ddlStudents.SelectedValue;
lblName.Text = HiddenID.Value;
lblEmail.Text = ca.GetFullStudentProfile(ddlStudents.SelectedIndex).UserEmail;
lblFamilyName.Visible = true;
lblBirth.Visible = true;
ddlStudents.Items.Clear();
PopulateStudentsDDL();
}
當我運行的代碼我得到異常
難道我的理解對不對,這個問題是在方法GetFullStudentProfile()?如果是這樣,那該如何解決?
我認爲這個問題是:
StudentProfile sp = null;
所以說,SP變量沒有填充在try塊數據。是嗎?
現在加入StudentProfile.cs類上市:
public class StudentProfile
{ 公共StudentProfile(INT用戶ID,用戶名字符串,字符串userFamilyName,日期userBirthDay,串userTelephone,串USEREMAIL,日期userRegDate,串UserComment在,布爾userActive) { UserID = userID; UserName = userName; UserFamilyName = userFamilyName; UserBirthDay = userBirthDay; UserTelephone = userTelephone; UserEmail = userEmail; UserRegdate = userRegDate; UserComment = userComment; UserActive = userActive; }
public int UserID
{
get;
set;
}
public string UserName
{
get;
set;
}
public string UserFamilyName
{
get;
set;
}
public DateTime UserBirthDay
{
get;
set;
}
public string UserTelephone
{
get;
set;
}
public string UserEmail
{
get;
set;
}
public DateTime UserRegdate
{
get;
set;
}
public string UserComment
{
get;
set;
}
public bool UserActive
{
get;
set;
}
}
在該行上設置斷點並進入getfullstudentprofile方法。這會讓你更好地瞭解它在哪裏失敗 – Robert 2011-04-21 23:01:44
我做到了。如何步驟獲得滿意的個人資料? – NCFUSN 2011-04-21 23:29:19
我截取了IDE的截圖,但忘記了不能在截圖中添加評論。如果你還沒有修改你的快捷鍵,它會是F11。如果有,請點擊Debug - > Step Into – Robert 2011-04-22 00:11:13