使用 C# ADO.NET 将多行字符串写入 SQL 服务器?
Write multi-line string to SQL Server using C# ADO.NET?
我正在尝试将多行文本写入 SQL 服务器数据库。每行都以“\r\n”结尾,但文本保存在 SQL 服务器中,没有换行符,所以当我从 SQL 服务器管理工作室复制列值时,它只是一个句子
"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 management studio,因为如果我从 SQL management studio 复制列值,行尾将不会显示。我编写了一个 c# 应用程序来从 SQL 数据库中读取记录,该字符串包含行尾字符。
我正在尝试将多行文本写入 SQL 服务器数据库。每行都以“\r\n”结尾,但文本保存在 SQL 服务器中,没有换行符,所以当我从 SQL 服务器管理工作室复制列值时,它只是一个句子 "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 management studio,因为如果我从 SQL management studio 复制列值,行尾将不会显示。我编写了一个 c# 应用程序来从 SQL 数据库中读取记录,该字符串包含行尾字符。