如何使用定义的参数调用此方法 [英] How Do I Call This Method With Defined Parameters
本文介绍了如何使用定义的参数调用此方法的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我在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屋!
查看全文