关于存储过程与类型化数据集的问题
向高手请教一个关于存储过程与类型化数据集的问题:
在数据库层我定义了一个返回多个表格的存储过程,部分代码如下:
......
SELECT ID,name,sex,engageModel,post,postClass,postLevel,role,roleLevel,joinTime,workAge
FROM StaffBasicInfoView
SELECT dept FROM DeptTable
/*部门列表*/
SELECT currentStatus FROM CurrentStatusTable
/*状态列表*/
SELECT educationLevel FROM EducationLevelTable
......
在业务逻辑层我通过调用这个以上存储过程来填充一个类型化的数据集,部分代码如下:
......
_basicInfoDataSet = new BasicInfoDataSet(); //创建相应的类型化数据集
_basicInfoAdapter = new SqlDataAdapter();
....... //在_basicInfoAdapter调用存储过程
_basicInfoAdapter.Fill(_basicInfoDataSet); //填充数据集
程序运行后,发现_basicInfoAdapter只是将存储过程返回的第一个表格(StaffBasicInfoView)的内容填充到了数据集,其他的表格是空的;
如果我填充一个非类型化的数据集,则不会有问题。
请问:为什么会出现这样的情况,用返回多表格的存储过程不能填充类型化数据集吗?还是我使用的方法有问题?该如何解决?
要说明的是BasicInfoDataSet中包含的表格与存储过程所返回的表格是一样的,我的开发平台是.NET2.0