C# System.Data.SqlClient.SqlException:必须声明标量变量"@LocationID";。在MVC中

C# System.Data.SqlClient.SqlException:必须声明标量变量"@LocationID";。在MVC中,c#,datatable,C#,Datatable,描述:在执行过程中发生未处理的异常 当前的web请求。请查看堆栈跟踪以了解更多信息 有关错误的信息及其在代码中的来源 异常详细信息:System.Data.SqlClient.SqlException:必须声明 标量变量“@LocationID” 源错误: 第43行:第44行:连接打开();第45行: 适配器填充(dt);第46行:连接关闭();第47行: 源文件:C:\Users\Dev D\Documents\Visual Studio 2015\Projects\MySafar\MySaf

描述:在执行过程中发生未处理的异常 当前的web请求。请查看堆栈跟踪以了解更多信息 有关错误的信息及其在代码中的来源

异常详细信息:System.Data.SqlClient.SqlException:必须声明 标量变量“@LocationID”

源错误:

第43行:第44行:连接打开();第45行:
适配器填充(dt);第46行:连接关闭();第47行:

源文件:C:\Users\Dev D\Documents\Visual Studio 2015\Projects\MySafar\MySafar\Models\DBUtility.cs行:45

Location.cs(模型类)

DBUtility.cs(用于修改、插入和选择数据的数据库方法的模型类定义)

publicstaticdatatable SelectData(字符串查询,列表参数)
{
SqlConnection conn=新的SqlConnection();
conn.ConnectionString=“数据源=(LocalDB)\\MSSQLLocalDB;AttachDbFilename=\”C:\\Users\\Dev D\\Documents\\visualstudio 2015\\Projects\\MySafar\\MySafar\\App\u Data\\MySafarDB.mdf\“integratedsecurity=True”;
SqlCommand=newsqlcommand();
command.Connection=conn;
command.CommandText=查询;
DataTable dt=新的DataTable();
SqlDataAdapter=新的SqlDataAdapter();
adapter.SelectCommand=command;
conn.Open();
适配器填充(dt);
康涅狄格州关闭();
返回dt;
}

此方法有问题

public static DataTable SelectData(String query, List<SqlParameter> parameter)

这样地??SqlCommand=newsqlcommand();command.Connection=conn;foreach(列表参数中的var param))命令.Parameters.Add(param);command.CommandText=查询;DataTable dt=新的DataTable();SqlDataAdapter=新的SqlDataAdapter();adapter.SelectCommand=command;conn.Open();适配器填充(dt);康涅狄格州关闭();返回dt;}
public ActionResult Location_Edit()
{
            Location l = new Location();
            l.LocationID = Convert.ToInt32(Request.QueryString["ID"]);
            l.SelectByPK();

            return View(l)
}

[HttpPost]
public ActionResult Location_List_Edit()
{
            Location l = new Location();
            l.LocationID = Convert.ToInt32(Request.QueryString["ID"]);
            l.LocationName = Request.Form["LocationName"];
            l.PhotoPath = Request.Form["PhotoPath"];
            l.Details = Request.Form["
            l.CityID = Request.Form["CityID"];

            l.Update();

            return View("Location_List", new DataTable());
}
public static DataTable SelectData(String query, List<SqlParameter> parameter)
{
            SqlConnection conn = new SqlConnection();
            conn.ConnectionString = "Data Source=(LocalDB)\\MSSQLLocalDB;AttachDbFilename=\"C:\\Users\\Dev D\\Documents\\Visual Studio 2015\\Projects\\MySafar\\MySafar\\App_Data\\MySafarDB.mdf\";Integrated Security=True";

            SqlCommand command = new SqlCommand();
            command.Connection = conn;

            command.CommandText = query;

            DataTable dt = new DataTable();
            SqlDataAdapter adapter = new SqlDataAdapter();
            adapter.SelectCommand = command;

            conn.Open();
            adapter.Fill(dt);
            conn.Close();

            return dt;
}
public static DataTable SelectData(String query, List<SqlParameter> parameter)
foreach( var param in  List<SqlParameter> parameter))
  command.Parameters.Add(param);