首页 > 解决方案 > 使用 C# ADO.NET 将多行字符串写入 SQL Server?

问题描述

我正在尝试将多行文本写入 SQL Server 数据库。每行都以“\r\n”结尾,但文本保存在 SQL Server 中,没有换行符,所以当我从 SQL Server 管理工作室复制列值时,它只是一句话“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();
        }
    }

标签: c#sql-serverado.net

解决方案


感谢您的意见。似乎问题出在 SQL 管理工作室,因为如果我从 SQL 管理工作室复制列值,则不会显示行尾。我编写了 ac# app 来从 SQL 数据库中读取记录,并且字符串包含行尾字符。


推荐阅读