我觉得我有一些非常基本的错误。我似乎无法使用参数来添加用户。
以下Incorrect syntax near '@x'
失败:
var Cmd = new SqlCommand("CREATE LOGIN @x FROM WINDOWS; CREATE USER @x FOR LOGIN @x", SqlConn);
Cmd.Parameters.AddWithValue("@x", user);
Cmd.ExecuteNonQuery();
然而,这有效:
var Cmd = new SqlCommand("CREATE LOGIN @x FROM WINDOWS; CREATE USER @x FOR LOGIN @x", SqlConn);
Cmd.CommandText = Cmd.CommandText.Replace("@x", "[" + user + "]");
Cmd.ExecuteNonQuery();
(用户使用域\用户格式:user = @"mycomputer\myuser";
)
修改
我可以在右边看到相关的问题,这是重复的。答案说你不能使用CREATE USER的参数。不知道为什么。也许我应该以不同的方式解决我的基本问题?这就是我想要实现的目标:
我在我的数据库中有一个角色,我想添加用户,以便他们可以访问数据库。我希望管理员能够从软件中执行此操作(授予对[domain \ user]的数据库访问权限),而无需他们成为MR SQL并自行运行管理工作室。我该怎么做?
答案 0 :(得分:0)