我的C#代码给出错误iF i传递了一个以上的参数

本文关键字:一个以 参数 代码 出错 iF 错误 我的 | 更新日期: 2023-09-27 18:28:16

我用这个C#代码在gridview中获取数据。但如果我根据我的代码将超过1个值作为资产编号,这将返回我的预定义错误。如果我一次只通过一个资产编号,它绝对有效。请帮忙。

private void UpdateAssetNumber (string requestId)
    {
        clsDatabase objDb = new clsDatabase();
        clsUtility objUtil = new clsUtility();
        SendEmail objMail = new SendEmail();
        SqlTransaction objTrans;
        string TableName = "Assets_Requisition_Detail_Controller";
        string FieldsName = string.Empty;
        string FieldsValue = string.Empty;
        string todayDate = objUtil.fncGetDate();
        bool flg = false;
        try
        {
            objDb.fncOpenConnection();
            objTrans = objDb.cnnConnection.BeginTransaction();
            FieldsName = "Asset_No$";
            foreach (GridViewRow row in grdEntry.Rows)
            {
                Label lblDetailId = row.FindControl("lblDetailId") as Label;
                TextBox txtAssetNo = row.FindControl("txtAssetNo") as TextBox;
                FieldsValue = "'" + txtAssetNo.Text + "'$'";
                flg = objDb.fncModifyRecord(TableName, FieldsName, FieldsValue, "Request_Id= " + requestId + " AND IsActive = 'TRUE' AND Detail_Id = " + lblDetailId.Text, ref objDb.cnnConnection, ref objTrans);
                if (!flg)
                {
                    break;
                }
            }
            if (flg)
            {
                flg = UpdateRquestStatus(lblPk.Text, ref objDb.cnnConnection, ref objTrans);
            }
            if (flg)
            {
                objTrans.Commit();
                SearchRequest();
                pnlNew.Visible = false;
                pnlSearch.Visible = true;
                lblMsg.Text = objUtil.fncGetErrorDesc(1);
                objMail.SendCodeOpenedEmail("ASSET", Convert.ToInt32(lblPk.Text));
            }
            else
            {
                objTrans.Rollback();
                lblMsg.Text = objUtil.fncGetErrorDesc(-1);
            }
            pnlMsg.Visible = true;
        }
        catch (Exception ex)
        {
            throw ex;
        }
        finally
        {
            objDb.fncCloseConnection(objDb.cnnConnection);
            objTrans = null;
        }
    }

我的C#代码给出错误iF i传递了一个以上的参数

您可以从调用方进行它,而无需更改此方法,也无需使用另一个获取列表作为参数的UpdateAssetNumber方法。类似于:

private void UpdateAssetNumber (List<string> requestIds)
{
     foreach(var requestId in requestIds)
     {
           UpdateAssetNumber(requestId)
     }
}

这是因为您只识别了一个输入参数

    private void UpdateAssetNumber (string requestId) {

尝试

    private void UpdateAssetNumber(params string[] list) {