這裏的一個實例是我的代碼:無法越過這個錯誤:未將對象引用設置到對象
protected void Page_Load(object sender, EventArgs e)
{
if (Session[ "DistID" ] != "")
{
DistInfo distInfo = GeneralFunctions.GetGeneralInformation((int)Session[ "DistID" ]);
launchDate.Text = distInfo.AnticipatedLaunchDate.ToShortDateString();
}
}
public static DistInfo GetGeneralInformation (int ClientID)
{
using (var conn = new SqlConnection(GetConnectionString()))
using (var cmd = conn.CreateCommand())
{
conn.Open();
cmd.CommandText =
@"SELECT i.GoLiveDate, i.FirstBonusRun, i.TechFName, i.TechLName, i.TechEmail, i.TechPhone, i.WebISPFName, i.WebISPLName,
i.WebISPEmail, i.WebISPPhone, i.FullFillFName, i.FullFillLName, i.FullFillEmail, i.FullFillPhone, d.FName,
d.LName, d.HomePhone, d.Email
FROM NC_Information i
INNER JOIN Distributor d
ON d.DistID = i.ClientID
WHERE clientID = @value";
cmd.Parameters.AddWithValue("@value", ClientID);
using (var reader = cmd.ExecuteReader())
{
while (reader.Read())
{
var distInfo = new DistInfo
{
AnticipatedLaunchDate = reader.GetDateTime(reader.GetOrdinal("GoLiveDate"))
};
return distInfo;
}
}
return null;
}
}
public class DistInfo
{
public DateTime AnticipatedLaunchDate { get; set; }
}
以下是錯誤:
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.
Exception Details: System.NullReferenceException: Object reference not set to an instance of an object.
Source Error:
Line 14: if (Session[ "DistID" ] != "")
Line 15: {
Line 16: DistInfo distInfo = GeneralFunctions.GetGeneralInformation((int)Session[ "DistID" ]);
Line 17: launchDate.Text = distInfo.AnticipatedLaunchDate.ToShortDateString();
Line 18: }
Source File: c:\inetpub\wwwroot\Base\ClientAccessPortal\GeneralInformation.aspx.cs Line: 16
數據庫可以爲返回值i.GoLiveDate(這將是AnticipatedLaunchDate)DateTime,數據庫中的空DateTime或NULL。我不知道如何克服這個錯誤。預先感謝您的幫助。
我這樣做了,這個工作也可以嗎?會話DistInfo將只會爲空或用int填充。 if(Session [「DistID」]!= null) DistInfo distInfo = GeneralFunctions.GetGeneralInformation((int)Session [「DistID」]); launchDate.Text = distInfo.AnticipatedLaunchDate.ToShortDateString(); }' – 2012-04-20 21:42:02
是的,這也應該工作。 – 2012-04-20 21:44:07
好吧,謝謝,到下一個錯誤。這是我的痛苦!感謝每一位的幫助。 – 2012-04-20 21:45:08