C# 将varchar值“null”转换为数据类型int时,转换失败
我正在从数据库获取值到aspx页面。当获取一列的值时,该列抛出一个值,如C# 将varchar值“null”转换为数据类型int时,转换失败,c#,asp.net,sql,sql-server,sql-server-2008,C#,Asp.net,Sql,Sql Server,Sql Server 2008,我正在从数据库获取值到aspx页面。当获取一列的值时,该列抛出一个值,如 null,402,2912,2909,2910,2913,2911,2914,2915,2388,2389,2390, 2391,2964,2965,2392,2393,2394,2395,2397 现在它抛出一个异常 将varchar值“null”转换为数据时,转换失败 输入int 但是我想要列中除null以外的所有其他值 是否有任何方法将此“null”转换为“0”,但所有其他值仍应存在。将您的数据类型设置为null而
null,402,2912,2909,2910,2913,2911,2914,2915,2388,2389,2390,
2391,2964,2965,2392,2393,2394,2395,2397
现在它抛出一个异常
将varchar值“null”转换为数据时,转换失败
输入int
但是我想要列中除null以外的所有其他值
是否有任何方法将此“null”转换为“0”,但所有其他值仍应存在。将您的数据类型设置为null而不是int以允许转换的int值为null,或者在sql select语句中,您可以这样做:ISNULLyourcolumn,0以将null转换为0。我将我的类型声明为int?变量这是一个可为null的int类型。 这样可以避免出现异常,如果需要,可以轻松地将值转换为0
if (value == null)
value = 0;
由于您说希望在结果中包含除null值以外的所有值,因此可以在select语句中使用where子句对其进行筛选
SELECT * FROM COLUMN WHERE COLUMN_VALUE IS NOT NULL
或者,如果您使用Linq to EF:
from x in yourObjectContext.yourColumns where x != null
我认为您正在尝试在数据库中从NULL更改为0。 那你应该试试这个-
SELECT CASE WHEN columnName IS NULL THEN '0' ELSE columnName END FROM tableName
您还没有展示您正在使用的任何代码-有很多方法可以实现这一点,所有这些方法都有不同的处理空值的方法。请给我们更多的信息。代码在哪里?我认为您应该使用int.TryParse而不是Convert.ToInt32。我想您正在使用它。请提供如何获取此值null的代码,4022912290929102913291129142915238823892390、23912964296523922993239423952392397在SQL脚本中,您可以使用。。IsNullcolumn,0