c# - 无法从 sql 表中读取包含反斜杠的字符串

标签 c# sql backslash

我正在尝试从 sql 表中读取一个包含反斜杠的字符串。出于某种原因,我无法在字符串中传递反斜杠。 我的字符串是用户名,其格式为:Domain\username 我将它发送到表中:

    SqlCommand scomm = new SqlCommand();
    SqlDataReader sr;
    string nameOfUser = "Domain\userName";
        scomm.CommandText = "SELECT * FROM tableOfUsers WHERE UserName=" + nameOfUser;
sr = scomm.ExecuteReader();

在调试过程中,我可以看到另一个反斜杠被添加为转义字符,但是我不知道 sql 部分发生了什么,也不知道为什么会抛出异常。我尝试使用 @ 但这也无济于事。 如果您能提供给我任何帮助,我将不胜感激。

最佳答案

使用SqlParameter

string nameOfUser = @"Domain\userName";
scomm.CommandText = "SELECT * FROM tableOfUsers WHERE UserName=@username";
scomm.Parameters.Add("@username",SqlDbType.VarChar,30).Value=nameOfUser;
//open the connection
SqlDataReader sr=scomm.ExecuteReader();
if(sr.Read())  // use while loop when one or more exists
 {
    Console.WriteLine(sr["columnName"] + " or use column ordinal : " + sr[0]);
 }

关于c# - 无法从 sql 表中读取包含反斜杠的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8798250/

相关文章:

c# - 退回我的元素是正确的方法吗?

path - 那么Windows下路径斜杠(/或\)的正确方向是什么呢?

SQL Server 2008 - 当列为空时设置一个值

sql - PostgreSQL 中的条件语句

sql - 即使事务回滚,如何记录错误?

javascript - Node.js 缓解有关反斜杠的担忧

python - 为什么 '\x' 在 Python 中无效?

c# - 将可移植类库(以 DLL 形式)添加到 Xamarin Studio

c# - 使用 Excel OleDb 以工作表顺序获取工作表名称

java - 接口(interface)泛型重载