我写了一个用参数执行SQL命令的方法。但我得到一个例外,说明@p0
附近存在语法错误。
private const string CATALOG_NAME = "test";
ExecuteSqlCommand(@"CREATE DATABASE @p0", CATALOG_NAME);
private void ExecuteSqlCommand(string query, params object[] parameters)
{
try
{
using (var command = new SqlCommand(query, _connection))
{
for (int i = 0; i < parameters.Length; i++)
{
command.Parameters.Add(new SqlParameter("@p" + i, parameters[i]));
}
command.ExecuteNonQuery();
}
}
catch (Exception e)
{
Debug.WriteLine(e);
}
}
我也试过AddWithValue
并得到同样的错误。我通过调试查看了命令,一切都很好。