我们使用System.Data.SqlClient.SqlCommand
在SQL命令下执行并分配给Sqldata阅读器。
SELECT DISTINCT cast([reg].[pin] as float) AS [pin] FROM [reg]
这里'pin'列的数据类型是nvarchar,它也包含一些字符串数据。执行查询时,不会抛出任何错误,并且reader hasrows
属性返回false,但是当reader.read
完成时,将引发错误。
通常,如果查询包含错误,则执行时会抛出错误,但是上面的查询为什么它的行为会有所不同?
答案 0 :(得分:0)
因为sql认为在第一个实例中一切都会好起来的。当它读取数据并试图在reader.read期间解析读取时,将抛出错误。