没搞清楚DataSet,怎么才能看到DataSet中的数据?
DataSet ModeDataSet;ModeDataSet = oDBWebService.GetGroupModeDetails(Session[clsConstants.SESSION_SELECTED_RPGROUP_ID].ToString());MODE_myDataGrid.DataSource = ModeDataSet.Tables[1].DataSet;
MODE_myDataGrid.DataBind(); //程序在这句报错,"A field or property with the name 'ISGROUP' was not found on the selected data source."
我跟踪了oDBWebService那边的程序,调用存储过程,有返回数据集
ISGROUP DESTINATION .........
TRUE NULL AfterHrsMsg NULL After Hours请大家帮我看看吧
DataSet ModeDataSet;ModeDataSet = oDBWebService.GetGroupModeDetails(Session[clsConstants.SESSION_SELECTED_RPGROUP_ID].ToString());MODE_myDataGrid.DataSource = ModeDataSet.Tables[1].DataSet;
MODE_myDataGrid.DataBind(); //程序在这句报错,"A field or property with the name 'ISGROUP' was not found on the selected data source."
我跟踪了oDBWebService那边的程序,调用存储过程,有返回数据集
ISGROUP DESTINATION .........
TRUE NULL AfterHrsMsg NULL After Hours请大家帮我看看吧
要么
MODE_myDataGrid.DataSource = ModeDataSet;
要么
MODE_myDataGrid.DataSource = ModeDataSet.Tables[1];
估计你改成后者就没问题了。
另一个根据错误提示,是不是ISGROUP这个字段绑定错了?
MODE_myDataGrid.DataSource = ModeDataSet.Tables[0].DefaultView;
确实改成MODE_myDataGrid.DataSource = ModeDataSet.Tables[1];就可以了.不过这个问题还没有解决.这个程序以前是正确的,是我给改错了,原来的代码如下
MODE_myDataGrid.DataSource = ModeDataSet
因为GetGroupModeDetails是个公用函数,分别获取不同类型数据库传递过来的DataSet.这个方法获取从Oracle传过来数据是正确的.所以,我想解决这个问题的方法是我需要修改前面的访问MSSQL传递回来的函数部分.再次贴上以下代码public DataSet GetGroupModeDetails(string RPGroup_ID)
{
DataSet ModeDescription = null;
ModeDescription = runMultiRowSelect("USP_SELECT_GetGroupModeDetails",parameters, "GetGroupModeDetails");
return (ModeDescription);
}或者修改存储过程USP_SELECT_GetGroupModeDetails,因为我发现DataSet ModeDescription获取的数据有Tables[0]和Tables[1],如果返回只有1个Table,那么就不需要修改上面的程序了.也简单贴些存储过程的代码吧 --调用另一个存储过程
exec @iTotalRPGroup = [dbo].[USP_SELECT_GetTotalRPMatchInGroup]
--Union 两个SQL输出
SELECT 'TRUE' AS ISGROUP,NULL AS DESTINATION.... from ... Group by...having count(*)...
Union
SELECT 'TRUE' AS ISGROUP,NULL AS DESTINATION.... from ... Group by...having count(*)...水平有限,请大家多教教我吧