2

C# コード (asp.net Web サイト) からデータベースを作成するためのコードを作成しようとしています。

これは私のコードです:

SqlCommand myCommand = new SqlCommand("CREATE DATABASE @dbname", nn);
myCommand.Parameters.Add("dbname", dbname);

myCommand.ExecuteNonQuery();
nn.Close();

まあ、それは機能していません。エラーが表示されます:

'@dbname' 付近の構文が正しくありません

しかし。パラメータを使用しない場合、人々は私のデータベースに SQL inj を実行できます。テキストボックスからデータベース名を取得するために、何かを使用する方法を知っていますか? そして、人々はデータベースにSQLを挿入できないのですか?

4

1 に答える 1

4

CREATE DATABASEまたはその他の DDL コマンドでパラメーターを使用することはできません。

SQLの代わりにSQL Server 管理オブジェクトを使用することをお勧めします

于 2012-10-01T09:36:35.360 に答える