2

我正在尝试编写代码以从我的 C# 代码(asp.net 网站)创建数据库。

这是我的代码:

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

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

好吧,它不工作。它给了我一个错误:

'@dbname' 附近的语法不正确

但。如果我不使用参数,人们可以对我的数据库进行 SQL 注入。您知道如何使用任何东西从文本框中获取数据库名称。那人们不能用 SQL 插入我的数据库吗?

4

1 回答 1

4

您不能在CREATE DATABASE或其他 DDL 命令中使用参数。

我建议使用SQL Server 管理对象而不是 SQL

于 2012-10-01T09:36:35.360 回答