【发布时间】:2019-11-05 20:23:46
【问题描述】:
我正在尝试将多行文本写入 SQL Server 数据库。每行都以“\r\n”结尾,但文本保存在 SQL Server 中,没有换行符,所以当我从 SQL Server Management Studio 复制列值时,它只是一句话 "lineone line2 line3" 没有换行符。
为什么要去掉换行符?
string cnnString = null;
Sqlcnn cnn ;
SqlCommand cmd ;
string sql = null;
cnnString = "Data Source=ServerName;Initial Catalog=DatabaseName;User ID=UserName;Password=Password";
sql = "INSERT INTO tbl_AnswerSelected (AnswerValue) VALUES (@AnswerValue) ";
cnn = new Sqlcnn(cnnString);
try
{
cnn.Open();
using (var sqlCommand = cnn.CreateCommand())
{
sqlCommand.CommandText = sql;
command.Parameters.Add("@AnswerValue", SqlDbType.String);
command.Parameters["@AnswerValue"].Value = "lineone\r\nline2\r\nline3\r\n";
return sqlCommand.ExecuteNonQuery();
}
}
【问题讨论】:
-
您是尝试在 SQL Studio 中查看它还是实际检索这些值? SSMS 用网格输出中的空格替换换行符。
-
不清楚你说“当我从 SQL 复制字符串时”是什么意思
-
确保选中
Retain CR/LF on copy or save选项,否则如您所见,它们被替换,现在当您复制时,您应该得到回车/换行符。
标签: c# sql-server ado.net