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)
反斜杠是一个转义序列字符,因此两个反斜杠将被解释为一个反斜杠.如果你想在这种情况下保持你的反斜杠,请使用逐字字符串文字,它在字符串文字的开头添加@.
var qText = @"\\\\a\\b\\c";
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3435 次 |
| 最近记录: |