我在DB中有一个存储过程,它为不同的条件返回不同的列。 (动态SQL)。 但是当我使用sqlhelper类并在我的业务层中执行存储过程时,它会返回返回的数据集中所有可能的列(来自动态sql中的所有if / else条件)。不应该是结果集一部分的其他列只是空白。但是那些列回来时会有DB限制。 每次我使用数据集时,我必须将“enforceconstraints”设置为false。 有更好的方法, 1)避免从数据库中恢复约束? 要么 2)只从DB中获取所需的动态列?
谢谢
答案 0 :(得分:0)
您的数据表是否生成较弱或是否使用强类型数据集?
可能不是你想听到的,但我的建议是为不同的结果集设置不同的SP。例如,结果集的所有推断数据集在SP之外运行,但如果SP可以根据提供的数据返回不同的内容,您将开始看到您所见过的问题。