2010-12-21 47 views
0

我在DB中有一個存儲過程,它爲不同的條件返回不同的列。 (動態SQL)。 但是當我使用sqlhelper類並在我的業務層中執行存儲過程時,它會返回所返回數據集中所有可能的列(來自動態sql中的所有if/else條件)。其他不應該成爲結果集的一部分的列只是空白。但是這些列回來了與他們的數據庫約束。每當我使用數據集,我必須將「enforceconstraints」設置爲false。 是否有更好的方法, 1)避免從數據庫中帶回約束? 或 2)僅從DB獲取所需的動態列?DB .net 3.5的數據集約束條件

謝謝

回答

0

您的數據表是生成較弱還是使用強類型數據集?

可能不是你想聽到的,但我的建議是不同的結果集有不同的SP。例如,所有對結果集的推斷數據集適用於SP,但如果SP可以根據提供的數據返回不同的內容,則會看到類似於您見過的問題。