2016-09-28 31 views
1

嗨希望有人可以提供帮助。asp.net网页中的大型sql查询问题

我想呈现我的所有产品网址的列表我使用的ASP.NET网页(而不是WebForms或MVC)。

但是,如果数据库查询超过一定数量的记录,它会给我以下错误。

Microsoft.CSharp.RuntimeBinder.RuntimeBinderException:无法执行 运行在一个空引用

结合如果我投入了SQL查询500强,它工作正常。

我的数据库查询

var db = Database.Open("MyConnectionString"); 
var Products = "SELECT Top 500* FROM shop_products WHERE site_id = '99' AND product_active = 'Y' ORDER BY product_name ASC"; 

我曾经是能够做到这一点在传统的ASP。

可能会限制在asp.net中的SQL查询大小,如果是的话我该如何解决这个问题。

帮助

+0

您对数据库有多少条记录 –

+0

是否尝试在连接字符串中添加“Connect Timeout”? – A3006

+0

您好,只有约1500个产品可以打电话。 –

回答

1

错误消息的关键词是“无法对运行时绑定的产品null参考“。

我怀疑“shop_products”表中的前500行没有具有NULL值的列值。这就是为什么选择工作和没有“前500名”限定符没有选择。

您的代码需要检测DBnull值并为这些情况分配默认值,或者执行某种错误处理以避免此运行时错误。

0

为了解决这个我分裂这个分解成更小的SQL查询的,按类别划分出来是哪里英寸