B. *_*non 2 c# sql t-sql sql-server isnull
当Address2列为空时,此行:
string address2 = sqlD8aReader.GetString(ADDRESS2_OFFSET);
Run Code Online (Sandbox Code Playgroud)
......失败了:
System.Data.SqlTypes.SqlNullValueException was unhandled by user code
HResult=-2146232015
Message=Data is Null. This method or property cannot be called on Null values.
Source=System.Data
StackTrace:
at System.Data.SqlClient.SqlBuffer.get_String()
at System.Data.SqlClient.SqlDataReader.GetString(Int32 i)
at HandheldServer.Models.SQLServerPOCRepository..ctor() in c:\HandheldServer\HandheldServer\Models\SQLServerPOCRepository.cs:line 58
InnerException:
Run Code Online (Sandbox Code Playgroud)
如何安全地读取可能为null的字符串?它应该以某种方式在SQL中处理(如果是这样,如何?)还是应该在read/C#代码中处理?
我不知道你的数据是如何被填充的,但是当我们执行我工作的查询时,如果必须为某些操作设置空字符串而不是null,我们将使用ISNULL(column, '')
可能返回null的列.我们的应用程序层不需要担心值是否为null,它只会像字符串一样处理它.
否则,如果你想处理它的应用程序端,你可以使用这个:
if(!sqlD8aReader.IsDBNull(ADDRESS2_OFFSET))
{
string address2 = sqlD8aReader.GetString(ADDRESS2_OFFSET);
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
2980 次 |
最近记录: |