我无法检查返回的值是否在C#中具有DBnull值。
这是我的代码
LoanDSTableAdapters.LoanApplicationsTableAdapter loanApp =
new LoanDSTableAdapters.LoanApplicationsTableAdapter();
LoanDS.LoanApplicationsDataTable loanAppDetails =
loanApp.GetLoanApplication(MySessionManager.AppID.ToString());
if (loanAppDetails.Rows.Count > 0)
{
int newclient;
if (!loanAppDetails[0].datNewClient == DBNull.Value)
{
newclient = 1;
}
else
{
newclient = Convert.ToInt32(loanAppDetails[0].datNewClient.ToString());
}
这是我得到的错误,这让我疯了:
运营商“!”不能应用于“int”类型的操作数
答案 0 :(得分:1)
正如Uwe所说,你需要提高你的c#技能。
if (loanAppDetails[0].datNewClient != DBNull.Value)
是要走的路。相反,你告诉编译器否定一个int,然后将它与DbNull进行比较 - 这是不可能的。