asp.net 网页中的大型 sql 查询问题

Issue with Large sql query in asp.net webpages

您好希望有人能提供帮助。

我正在尝试呈现我所有产品的列表 url 我正在使用 ASP.NET 网页(不是 WebForms 或 MVC)。

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

Microsoft.CSharp.RuntimeBinder.RuntimeBinderException: Cannot perform runtime binding on a null reference

如果我输入 SQL 查询 Top 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";

我以前可以在 Classic ASP 中做到这一点。

asp.net 中的 SQL 查询大小是否有限制,如果是,我该如何解决这个问题。

帮助

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

错误消息中的关键词是"cannot perform runtime binding on a null reference"。

我怀疑 "shop_products" table 中的前 500 行没有包含 NULL 值的列值。这就是为什么 select 起作用而没有 "top 500" 限定符的 select 不起作用的原因。

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