为多个场景使用一种方法

时间:2016-03-01 09:46:31

标签: c# asp.net

我正在使用Asp.net webforms开发一个Web应用程序。要求是根据下拉列表中的选定值填充gridview,我可以毫无问题地实现。我试图做的是最小化我的代码,所以我不必重复自己。所以我创建了一个方法,该方法从查询中返回DataTable作为参数传递给该函数。

public DataTable GetData(string Query)
{
 //Do stuff i.e. sql reader 
  ...
}

一些Sql问题会有params而其他人会赢得例如

  1. SELECT TESTONE FROM MY TABLE WHERE TESTONE = @param
  2. SELECT TESTTWO FROM MY TABLE
  3. 我希望能够使用上述两种查询调用GetData()方法,但我无法弄清楚如何扩展我的功能以适应这两种情况。如果有人可以指导我,我会非常感激。

    在这种情况下,使用GetData(string Query, Dictionary<string, object> parameters)是否会过度杀伤?

1 个答案:

答案 0 :(得分:0)

我设法通过对我的代码进行以下更改来解决这个问题。

public DataTable GetTrainingData(string query, params string[] parameters)
{
 // Do work here
}

我现在可以为我的两个查询调用相同的方法

  1. GetTrainingData("SqlQuery")
  2. GetTrainingData("SqlQuery", parameters)
  3. 进一步阅读params关键字 here here