Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/336.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# varchar值的转换溢出了填充未定义数据表的int列_C#_Asp.net_Sql Server - Fatal编程技术网

C# varchar值的转换溢出了填充未定义数据表的int列

C# varchar值的转换溢出了填充未定义数据表的int列,c#,asp.net,sql-server,C#,Asp.net,Sql Server,我有个错误 varchar值“287201414153026341”的转换溢出了int列 但是我在sql中所做的任何事情都没有试图将varchar列中的值转换为int Select * from view_spotcheck_manager 该值来自视图中名为“request\u id”的varchar列 异常发生在该行上 dt.Load(rdr); 似乎很明显,出于某种原因,系统看到的值都是数字,尽管是varchar列,但它试图在没有指示的情况下将其转换为int,因此我假设Load()方

我有个错误 varchar值“287201414153026341”的转换溢出了int列

但是我在sql中所做的任何事情都没有试图将varchar列中的值转换为int

Select * from  view_spotcheck_manager
该值来自视图中名为“request\u id”的varchar列

异常发生在该行上

dt.Load(rdr);
似乎很明显,出于某种原因,系统看到的值都是数字,尽管是varchar列,但它试图在没有指示的情况下将其转换为int,因此我假设Load()方法中存在某种默认行为


问题是我不想让它这么做,我需要它保持原样(在这种情况下,我不应该得到这个错误。除了构造一个强类型的DataTable对象并专门加载每个列之外,还有什么方法可以使Load方法不将这个全数字的varchar值转换为int?。

结果是,注释表明问题在基础视图中,而不是在Load方法中有问题的列被错误地链接到另一个表的int列。修复了连接,现在一切正常。

视图可能正在计算列,并且在此过程中尝试转换失败。请查看数据库中
view\u spotcheck\u manager
的定义。因此,如果运行
Select*from view\u spotcheck_manager
在SSMS中,您一点错误都没有?视图的定义是什么,从您发布的内容来看,视图中似乎发生了转换和溢出Good call guys…事实证明,有问题的列在连接时被错误地链接到了另一个表中的int列。感谢您为我指明了正确的方向。
dt.Load(rdr);