SQL Serverインデックスを削除するときにパラメータを使用して、ベストプラクティスに従うようにしています(Visual Studioのコード分析の警告も削除します)。C#のDROP INDEXにSQLパラメータを使用する
は、パラメータを使用していないが正常に動作します:
string tableName = "dbo.TableName";
SqlCommand sqlCommand = new SqlCommand("DROP INDEX Blah ON " + tableName);
sqlCommand.Connection = sqlConnection;
sqlCommand.ExecuteNonQuery();
しかし、私は近くにエラー
不適切な構文を取得したパラメータを使用しようとすると '@tablename'。
コード:
string tableName = "dbo.TableName";
SqlCommand sqlCommand = new SqlCommand("DROP INDEX Blah ON @TableName");
sqlCommand.Parameters.Add(new SqlParameter("TableName", tableName));
sqlCommand.Connection = sqlConnection;
sqlCommand.ExecuteNonQuery();
は私が間違って何をしているのですか?
"@TableName"にする必要がありますか? –
@EricJ。 'SqlParameter'は自動的に' @ 'を追加します。 –