C# 修改BAQ以使用参数进行查询

C# 修改BAQ以使用参数进行查询,c#,.net,erp,C#,.net,Erp,我创建了一个动态查询,可以从外部BAQ返回数据集。我希望动态查询只返回满足我解析的参数的记录 这是我目前掌握的代码: // DynamnicQuery for BAQ Epicor.Mfg.Core.Session epiSession = default(Epicor.Mfg.Core.Session); epiSession = (Epicor.Mfg.Core.Session)POEntryForm.Session; DynamicQuery

我创建了一个动态查询,可以从外部BAQ返回数据集。我希望动态查询只返回满足我解析的参数的记录

这是我目前掌握的代码:

// DynamnicQuery for BAQ
        Epicor.Mfg.Core.Session epiSession = default(Epicor.Mfg.Core.Session);
        epiSession = (Epicor.Mfg.Core.Session)POEntryForm.Session;
        DynamicQuery dynamicQuery = new Epicor.Mfg.BO.DynamicQuery(epiSession.ConnectionPool);
        //Build Data Set
        QueryExecutionDataSet executionDS = new QueryExecutionDataSet();
        //Build parametors
        QueryExecutionDataSet parameters = new QueryExecutionDataSet();
        DataRow paramRow = parameters.ExecutionParameter.NewRow();
        paramRow["ParameterName"] = "POSuggestionsView.PartNum";
        paramRow["ParameterValue"] = "10050886";
        paramRow["ValueType"] = "nvarchar(50)";
        paramRow["IsEmpty"] = "False";
        paramRow["RowIdent"] = "";
        paramRow["RowMod"] = "";
        paramRow["DBRowIdent"] = new byte[0];
        parameters.ExecutionParameter.Rows.Add(paramRow);
        // Out variable which indicates if more results are available (likely for use with topNRecords)
        bool hasMoreRecords = false;
        //Executed named BAQ with parameter...
        DataSet results = dynamicQuery.ExecuteByIDParametrized("AD-999-SB_POSuggestion", parameters, "", 0, out hasMoreRecords);
        //Message Each Description....
        MessageBox.Show("Number of rows in Results = " + results.Tables["Results"].Rows.Count.ToString());
        foreach (DataRow item in results.Tables["Results"].Rows)
        {
            MessageBox.Show("Row Value = " + item["POSuggestionsView.PartNum"].ToString());
    }      

我创建的代码仍然返回表中的所有值,而不将返回的行限制为满足参数条件的行。有人能帮我解释一下为什么会发生这种情况吗?

您需要在BAQ中创建一个参数

打开BAQ编辑器并导航到短语构建选项卡,选择要将参数添加到的表

在下一节的表格中添加新标准,过滤器类型将为“指定参数”。注意参数名

拯救BAQ


回到您的自定义中,修改paramRow[“ParameterName”]=您在BAQ中创建的参数名称

您需要在BAQ中创建一个参数

打开BAQ编辑器并导航到短语构建选项卡,选择要将参数添加到的表

在下一节的表格中添加新标准,过滤器类型将为“指定参数”。注意参数名

拯救BAQ

回到您的自定义中,修改paramRow[“ParameterName”]=您在BAQ中创建的参数名称