问题与大型sql查询在asp.net网页



你好,希望有人能帮忙。

我试图呈现我所有的产品url的列表,我使用ASP。. NET网页(不包括WebForms或MVC)。

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

Microsoft.CSharp.RuntimeBinder。RuntimeBinderException: Cannot performnull引用上的运行时绑定

如果我把SQL查询top500它工作得很好。

my db query

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查询大小的限制,如果是这样,我如何解决这个问题。

帮助

错误消息中的关键短语是"无法对null引用执行运行时绑定"。

我怀疑"shop_products"表中的前500行没有列值为NULL值。这就是为什么这个选择可以工作,而没有"top 500"限定符的选择不能工作。

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

为了解决这个问题,我将其拆分为更小的SQL查询,按类别的产品进行拆分。

最新更新