SQL server - 插入包含反斜杠的字符串记录

ric*_*y32 0 .net c# sql-server

我正在尝试在表中插入一个记录,其中一列具有以下值.

\\\\a\\b\\c

Database DataProvider = new SqlDatabase(connectionstring);  
DataProvider.ExecuteNonQuery("sprocname",
                    Id,
                    qText,
                );  
Run Code Online (Sandbox Code Playgroud)

在这里,qText具有以上价值.执行后,该值\仅作为(单个反斜杠)添加到表中.

如果我尝试在表格中手动插入记录,

INSERT INTO mytbl(id, q) VALUES
 (0, '\\\\a\\b\\c')
Run Code Online (Sandbox Code Playgroud)

插入适当的值.出现这种情况的原因是什么?我在这里错过了什么吗?

UPDATE

似乎无论我的字符串是什么,只有它的第一个字母插入该列!不知道为什么.列的数据类型是varchar(max)

防爆.

for qText = 'abc', then column has value `a`
for qText = '\\\\a\\b\\c', then column has value `\`
Run Code Online (Sandbox Code Playgroud)

Ram*_*min 5

反斜杠是一个转义序列字符,因此两个反斜杠将被解释为一个反斜杠.如果你想在这种情况下保持你的反斜杠,请使用逐字字符串文字,它在字符串文字的开头添加@.

var qText = @"\\\\a\\b\\c";
Run Code Online (Sandbox Code Playgroud)