gpt4 book ai didi

c# - Dapper 参数未被替换

转载 作者:行者123 更新时间:2023-11-30 13:06:46 25 4
gpt4 key购买 nike

几个月来我一直在这个项目上使用 Dapper,没有出现任何问题。但是现在我必须使用原始 SQL 而不是带有 dapper 的存储过程来创建和更改数据库中的 UsersRoles 因为现在不推荐使用 sp_addrolemember .

我用这个作为我的代码

conn.Open();
var p = new DynamicParameters();
p.Add("@UserLogin", user);
p.Add("@UserRole", role);
conn.Execute("Create User @UserLogin", p);
conn.Execute("ALTER ROLE @UserRole ADD MEMBER @UserLogin", p);

我不断收到同样的错误:

Invalid syntax at @UserLogin

我将我的 domain\username 作为登录名传递,我也尝试过不使用 domain\。一样。有人可以阐明这一点吗?

最佳答案

我不熟悉 Dapper,但您可以尝试将参数值嵌入到您要发送以供执行的 SQL 字符串中:

conn.Open();
conn.Execute("Create User " + user);
conn.Execute("ALTER ROLE " + role + " ADD MEMBER " + user);

请注意,这会带来安全风险,并可能导致其他问题!

关于c# - Dapper 参数未被替换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44508901/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com