[英]Data is Null. This method or property cannot be called on Null values error
我有一个代码,给我错误
数据为空。 不能在Null值上调用此方法或属性
if (reader.Read())
{
return reader.GetString(0);
}
return null;
下面是完整的代码
[WebMethod]
public static string GetCurrentToBin(string ToBin, int warehouseId)
{
var connectionString = ConfigurationManager.ConnectionStrings["SqlConn"].ToString();
using(var conn = new SqlConnection(connectionString))
{
const string queryString = "exec sp_P_WMS_Stock_Adj_Validation_Proc @Bin , @warehouse";
var sqlCommand = new SqlCommand(queryString , conn);
sqlCommand.Parameters.AddWithValue("@Bin",ToBin);
sqlCommand.Parameters.AddWithValue("@warehouse", warehouseId);
conn.Open();
var reader = sqlCommand.ExecuteReader();
if (reader.Read())
{
return reader.GetString(0);
}
return null;
}
}
您可以尝试将其用于空值,例如
if(!reader.IsDBNull(0))
return reader.GetString(0);
或使用以下方法
public string GetString(SqlDataReader reader, int columnIndex)
{
if(!reader.IsDBNull(columnIndex))
return reader.GetString(columnIndex);
return string.Empty;
}
像这样
return GetString(reader, 0);
您应该先使用IsDBNull进行检查。
例如,请参阅msdn https://msdn.microsoft.com/zh-cn/library/system.data.sqlclient.sqldatareader.isdbnull.aspx
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.