如何使用定义的参数调用此方法 [英] How Do I Call This Method With Defined Parameters

查看:47
本文介绍了如何使用定义的参数调用此方法的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我在DataAccessLayer中有这个代码,我想调用这个方法将数据存储到我的数据库中。如何使用定义的参数调用此方法?



我没有写这个,但我需要使用它。





I have this code in my DataAccessLayer, I want to call this method to store data into my database. How do I call this method with defined parameters?

I didn't write this, but I need to use it.


public int InsertData(string StoredProcedureName, List<DataParameters> lParameters)
         {
             int iResult = 0;
             try
             {
                 DataConnector oDataConnector = new DataConnector();
                 oSqlConnection = oDataConnector.GetConnection();

                 oSqlCommand = new SqlCommand(StoredProcedureName, oSqlConnection);
                 oSqlCommand.CommandType = CommandType.StoredProcedure;

                 foreach (DataParameters item in lParameters)
                 {
                     SqlParameter oParameter = new SqlParameter();
                     oParameter.ParameterName = item.ParameterName;
                     oParameter.DbType = item.ParameterDataType;
                     oParameter.Value = item.ParameterValue;
                     oSqlCommand.Parameters.Add(oParameter);

                 }
                 iResult = oSqlCommand.ExecuteNonQuery();

             }
             catch (Exception ex)
             {
                 Log.CreateLog(ex.ToString());

             }
             finally
             {
                 if (oSqlConnection.State != ConnectionState.Closed)
                 {
                     oSqlConnection.Close();
                 }

                 if (oSqlConnection != null)
                     oSqlConnection.Dispose();

                 if (oSqlCommand != null)
                     oSqlCommand.Dispose();

                 if (oSqlAdapter != null)
                     oSqlAdapter.Dispose();

             }
             return iResult;
         }


class DataParameters
{

    private string iParameterName;
    private System.Data.DbType iParameterDataType;
    private string iParameterValue;

    /// <summary>
    /// This method is to add parameters by creating a list object
    /// </summary>
    /// <param name="ParameterName"></param>
    /// <param name="ParameterDataType"></param>
    /// <param name="ParameterValue"></param>
    public DataParameters(string ParameterName, System.Data.DbType ParameterDataType, string ParameterValue)
    {
        this.iParameterName = ParameterName;
        this.iParameterDataType = ParameterDataType;
        this.iParameterValue = ParameterValue;
    }

    /// <summary>
    /// Property for setting ParameterName
    /// </summary>
    public string ParameterName
    {
        get { return iParameterName; }
        set { iParameterName = value; }
    }

    /// <summary>
    /// Property for setting ParameterDataType
    /// </summary>
    public System.Data.DbType ParameterDataType
    {
        get { return iParameterDataType; }
        set { iParameterDataType = value; }
    }


    /// <summary>
    /// Property for setting the ParameterValue
    /// </summary>
    public string ParameterValue
    {
        get { return iParameterValue; }
        set { iParameterValue = value; }
    }
}

推荐答案

现在,尝试学习编程的基础知识,而不是在这里提问有很多可用的资源



Instead of asking it here, try to learn basics of programming, nowadays, there are a lot of resources available

//Create list

List<DataParameters> lParameters=new List<DataParameters>();

//Create paramters, you should change @NameOfParamter, System.Data.DbType.String, Value of paramter as per your requirment

DataParameters param1=New DataParameters("@NameOfParamter",System.Data.DbType.String,"Value of paramter");

//Add parametrs to the list

lParameters.Add(param1);



//call the method

int result=InsertData("Your sp name",lParameters);


//创建列表



列表< dataparameters> lParameters = new List< dataparameters>();





for(int i = 0; i< number_of_parameters_to_insert; i ++)

{



DataParameters参数+ i =新数据参数(@ NameOfParamter,System.Data.DbType.String,参数值) ;

lParameters.Add(param + i);





}

//调用方法



int result = InsertData(你的sp名称,lParameters);





您遍历要添加为参数的项目并构建列表,然后在添加所有项目后调用insertData方法。您不需要创建多个数据参数来插入列表。只需重复使用现有的
//Create list

List<dataparameters> lParameters=new List<dataparameters>();


for (int i=0; i < number_of_parameters_to_insert; i++)
{

DataParameters param+i=New DataParameters("@NameOfParamter",System.Data.DbType.String,"Value of paramter");
lParameters.Add(param+i);


}
//call the method

int result=InsertData("Your sp name",lParameters);


You iterate through the item you want to add as a parameter and build up your list then call the insertData method after adding all items. You dont need to create multiple dataparameters to insert into a list. just reuse the existing one


这篇关于如何使用定义的参数调用此方法的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆