我正在尝试编写一个代码来从我的 C# 代码(asp.net 网站)创建数据库。
这是我的代码:
SqlCommand myCommand = new SqlCommand("CREATE DATABASE @dbname", nn);
myCommand.Parameters.Add("dbname", dbname);
myCommand.ExecuteNonQuery();
nn.Close();
嗯,它不起作用。它给了我一个错误:
但是。如果我不使用参数,人们可以通过 SQL 注入(inject)我的数据库。您知道如何使用任何东西从文本框中获取数据库名称吗?人们不能通过 SQL 注入(inject)我的数据库吗?incorrect syntax near '@dbname'
最佳答案
您不能在 CREATE DATABASE
或其他 DDL 命令中使用参数。
我建议使用SQL Server Management Objects而不是 SQL
关于c# - 从 C# 创建 SQL Server 数据库 - 使用参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12670740/