我正在尝试使用以下c#代码在Active Directory中找到一名员工:
"Select userPrincipalName, ADsPath, Department, Mail,
HomeMDB, cn, ssn FROM
'LDAP://" + DomainName + "'
WHERE objectCategory = 'person' and
sAMAccountName = '" + UserName.Replace("'", "''") + "'";
当我为员工使用姓氏中的单引号(例如“O'Connor”)运行此操作时,我收到以下错误:
AdsDsoObject'失败,没有可用的错误消息,结果代码:DB_E_NOTABLE(0x80040E37)。
I also tried Replace("'", "\''"), nothing is working.
我做错了什么?需要帮助。
谢谢!
答案 0 :(得分:1)
替换它自己的行。
Username.Replace("'", "\'");
"Select userPrincipalName, ADsPath, Department, Mail, HomeMDB, cn, ssn FROM
'LDAP://" + DomainName + "' WHERE objectCategory = 'person' and
sAMAccountName = '" + UserName + "'";
答案 1 :(得分:0)
你试过了:
Replace("'", "\''")
而不是:
Replace("'", "\'")
(那里有一个额外的单引号。)