我正在从数据库检索数据。因此我使用以下代码:
compname.Text = mRS.Fields["CompName"].Value == DBNull.Value
? ""
: mRS.Fields["CompName"].Value.ToString();
Run Code Online (Sandbox Code Playgroud)
在运行时我收到以下错误:
运算符“==”不能应用于“string”和“System.DBNull”类型的操作数
导致错误的原因是什么?
因为mRS.Fields["CompName"].Value是该字段的值,并且是字符串类型,并且DBNull.Value是 DBNull 类型。
您应该DBNull.Value与字段本身(而不是其值)进行比较,如下所示:
compname.Text = DBNull.Value.Equals(mRS.Fields["CompName"]) ? "" : mRS.Fields["CompName"].Value;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3781 次 |
| 最近记录: |