这是我的代码:
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
数据库可以从数据库返回 DateTime、空 DateTime 或 NULL 的 i.GoLiveDate(将是 AnticipatedLaunchDate)的值。我不确定如何克服这个错误。提前感谢您的帮助。