为了账号安全,请及时绑定邮箱和手机立即绑定

GridControl Master - 带有存储过程的详细视图

GridControl Master - 带有存储过程的详细视图

C#
喵喵时光机 2021-06-16 15:39:29
我的第一个存储过程如下所示:Use [Stock]GoCreate Proc Get_OrdersASSELECT [Number_Order]  ,[Date_Order]  ,[FullName]  ,[Location]FROM [Order]我的第二个存储过程如下所示:USE [Stock]GOALTER Proc [dbo].[Get_Order_Res]ASSELECT i.Name_Item  ,od.[ID_Order]  ,od.[Project]  ,od.[Length]  ,od.[Width]  ,od.[Quantity]  ,od.[Weight]  ,od.[Supplier]  ,od.[GDS_Name]  ,od.[GDS_Date]  ,od.[WorkshopName]  ,od.[WorkshopDate]  ,od.[ReservedQty] FROM OdredDetails od   INNER JOIN ItemQuantity iq            ON iq.ID_ItemQte = od.ID_ItemQte    INNER JOIN item i           ON i.ID_Item = iq.ID_Item    INNER JOIN [Order] ord           ON ord.Number_Order=od.ID_Order where ord.[Location]='PRODUCTION'在我的 c# 代码中,我使用此代码从存储过程中获取数据        public DataTable Get_Order_Res()    {        DAL.DataAccessLayer DAL = new DAL.DataAccessLayer();        DataTable dt = new DataTable();        dt = DAL.SelectData("Get_Order_Res", null);        DAL.Close();        return dt;    }    public DataTable Get_Orders()    {        DAL.DataAccessLayer DAL = new DAL.DataAccessLayer();        DataTable dt = new DataTable();        dt = DAL.SelectData("Get_Orders", null);        DAL.Close();        return dt;    }在我的表单中,我使用此代码创建主详细信息视图    public partial class FRM_Reserved : Form{BL.CLS_Order ord = new BL.CLS_Order();DataTable master = new DataTable();DataTable details = new DataTable();DataSet dataSet = new DataSet();public FRM_Reserved() {InitializeComponent();      master = ord.Get_Orders();details = ord.Get_Order_Res();dataSet.Tables.Add(master);dataSet.Tables.Add(details);dataSet.Relations.Add("OderDetails",dataSet.Tables["master"].Columns["Number_Order"],dataSet.Tables["details"].Columns["ID_Order"]);gridControl3.DataSource = dataSet.Tables["master"];但是当我运行代码时,我得到错误:未将对象引用设置为对象的实例。
查看完整描述

1 回答

?
胡说叔叔

TA贡献1804条经验 获得超8个赞

由于您没有为数据表命名,因此当您尝试访问它们时,它会返回 null。

dataSet.Tables["master"] // this returns null

要解决此问题,请为您的数据表命名

DataTable master = new DataTable("master");
DataTable details = new DataTable("details");


查看完整回答
反对 回复 2021-06-20
  • 1 回答
  • 0 关注
  • 146 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信