2016-09-28 10 views
1

こんにちは、誰かが助けることを願っています。asp.netのWebページで大規模なSQLクエリの問題

私のすべての製品URLのリストをレンダリングしようとしています.WebFormsまたはMVCではなくASP.NET WEBページを使用しています。

しかし、データベースクエリが一定量のレコードを超えている場合、次のエラーが表示されます。

Microsoft.CSharp.RuntimeBinder.RuntimeBinderException:私はそれが正常に動作するSQLクエリトップ500に入る場合はnull参照

に結合 ランタイムを実行できません。

私のDBクエリ

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クエリサイズに制限がある場合は、どうすればこの問題を回避できますか。

私は小さいSQLクエリのにこれをダウン分割この問題を解決するのに役立ち

+0

データベースにあるレコードの数 –

+0

接続文字列に「接続タイムアウト」を追加しようとしましたか? – A3006

+0

こんにちは、約1500製品を呼び出すだけです。 –

答えて

1

でのキーフレーズは「上の実行時バインディングを実行することはできませんされた製品ですnullを参照してください。

"shop_products"テーブルの上位500行にNULL値の列値がないと思われます。そのため、selectが機能し、「トップ500」の修飾子が指定されていないセレクトは機能しませんでした。

コードではDBnull値を検出し、これらのケースのデフォルト値を割り当てるか、このランタイムエラーを回避するために何らかのエラー処理を行う必要があります。

0

、カテゴリによって分割されたエラーメッセージインチ

関連する問題