C# 添加要在中查看的DataAccess查询结果以供循环使用

C# 添加要在中查看的DataAccess查询结果以供循环使用,c#,asp.net,datagrid,defaultview,C#,Asp.net,Datagrid,Defaultview,我得到了一个函数,我向它提供了一个ID,该ID反过来返回一组结果。 从这些结果中,我得到了另一组结果,显示在数据网格中。 使用下面的代码,我从最后一个有注释的节点获得结果 private void GetNotesList(int Id) { DataAccess.LexCodeNode LexCodeNode = new DataAccess.LexCodeNode(); LexCodeNode.Where.LexCodeId.Value = Id;


我得到了一个函数,我向它提供了一个ID,该ID反过来返回一组结果。
从这些结果中,我得到了另一组结果,显示在数据网格中。
使用下面的代码,我从最后一个有注释的节点获得结果

private void GetNotesList(int Id)
    {
        DataAccess.LexCodeNode LexCodeNode = new DataAccess.LexCodeNode();
        LexCodeNode.Where.LexCodeId.Value = Id;
        LexCodeNode.Query.Load();

        for (int Index = 0; Index <= LexCodeNode.RowCount; Index++, LexCodeNode.MoveNext())
        {
            int LexCodeNodeId = LexCodeNode.LexCodeNodeId;
            DataAccess.LexCodeNote LexCodeNote = new DataAccess.LexCodeNote();
            LexCodeNote.Where.LexCodeNodeId.Value = LexCodeNodeId;

            if (LexCodeNote.Query.Load())
            {
                BindGrid(DgNoteLst, LexCodeNote.DefaultView);
            }
        }
    }
我找到了另一种方法..
我创建了一个存储过程来获取所需内容,然后调用它。

USE [Table]
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE PROCEDURE Custom_GetNotesList(@LexCodeId int)
AS
BEGIN

Select LexCodeNodeId, Note, Active
From LexCodeNote
Where LexCodeNodeId in ( 
    Select LexCodeNodeId 
    From LexCodeNode
    where LexCodeId = @LexCodeId)

END
 private void GetNotesList(int Id, int Page)
    {
        DataAccess.LexCodeNode LexCodeNode = new DataAccess.LexCodeNode();
        LexCodeNode.GetNotesList(Id);
        BindGrid(DgNoteLst, LexCodeNode.DefaultView);
    }

我是这样称呼它的。

USE [Table]
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE PROCEDURE Custom_GetNotesList(@LexCodeId int)
AS
BEGIN

Select LexCodeNodeId, Note, Active
From LexCodeNote
Where LexCodeNodeId in ( 
    Select LexCodeNodeId 
    From LexCodeNode
    where LexCodeId = @LexCodeId)

END
 private void GetNotesList(int Id, int Page)
    {
        DataAccess.LexCodeNode LexCodeNode = new DataAccess.LexCodeNode();
        LexCodeNode.GetNotesList(Id);
        BindGrid(DgNoteLst, LexCodeNode.DefaultView);
    }

以及数据访问段中的定义

        public bool GetNotesList(int pLexCodeId)
    {
        ListDictionary parameters = new ListDictionary();
        parameters.Add(Parameters.LexCodeId, pLexCodeId);

        return base.LoadFromSql("[" + this.SchemaStoredProcedure + "Custom_GetNotesList]", parameters);
    }