【问题标题】:how to insert newline after word in sql table in c#如何在c#中的sql表中的单词后插入换行符
【发布时间】:2016-09-17 10:30:53
【问题描述】:

我正在尝试在 word car 之后插入新行,但它不适用于以下解决方案

  1. Char(13) - 不工作
  2. Environment.NewLine - 当我使用它时,它可以工作,但会在 sql 行中附加 '(' 这个字符,如 'Car (Rate:2CR' )
  3. \n\r - 不工作

代码:

cmd.Parameters.AddWithValue("@ColumnCar", Car + "char(13)" + "Rate:2CR"; 
  //cmd.Parameters.AddWithValue("@ColumnCar", Car + "\n\r" + "Rate:2CR"; 
  //cmd.Parameters.AddWithValue("@ColumnCar", Car + Environment.NewLine + "Rate:2CR"; 

cmd.ExecuteNonQuery(); 

需要在sql表中输出ColumnCar行值如下:

Car
Rate:2cr  

注意:这里 Car 之后会有一个换行符,然后 Rate:2Cr 将被添加

【问题讨论】:

    标签: c# sql newline


    【解决方案1】:

    使用 LoC Car + "char(13)" + "Rate:2CR";,您将在两个值之间得到一个文字字符串 "char(13)",而不是新行。如果您只想要一个新行,您可以附加 "\n" 或者您可以附加与新行等效的字符 (char)10

    现在实际代表新行的字符或字符串可能取决于您的环境,包括您使用的排序规则。在简单的 ascii/ansi 中,这将起作用。另一个排序规则可能不一样。正如@mhasan 指出的那样,它也可能因操作系统而异。

    使用字符

    const char carriageReturn = (char) 13; // see https://en.wikipedia.org/wiki/Carriage_return
    const char newLine = (char) 10;
    
    var car = "some car";
    var toInsert = car + newLine + "Rate:2CR";
    cmd.Parameters.AddWithValue("@ColumnCar", toInsert);
    

    这也可以工作并产生相同的结果:

    var toInsert = car + "\n" + "Rate:2CR";
    

    【讨论】:

    • 我的错误,附加了错误的字符,这就是为什么它不起作用,谢谢伊戈尔
    【解决方案2】:

    使用换行符和回车符的组合,即char(13) + char(10) 在 Windows OS 系统中插入新行。 对于 MAC 它的 \r char(13) ,对于 Linux 它的 \n 即 char(10) 但对于 Windows 是两者的组合。

    【讨论】:

      【解决方案3】:

      试试这段代码,希望它能正常工作...

      创建一个字符串变量并将所有值存储在变量中..

      例如:字符串 abc=textbox1.text+" "+"Rate:2cr"; @ColumnCar=abc.tostring();

      现在输入你的代码

      cmd.Parameters.AddWithValue("@ColumnCar",datatype); cmd.executenonquery();

      【讨论】:

        【解决方案4】:

        以下代码适用于 MS SQL-Server 2016 DB 中的 unicode 字段:

          string carString = $"Volvo{Environment.NewLine}Rate: 2CR";
        
          SqlParameter parameter = new SqlParameter("@ColumnCar", carString);
          command.Parameters.Add(parameter);
        

        使用 Environment.NewLine 时的 '(' 一定是其他地方的另一个错误。代码中的 Car 是什么?一个类实例?它的 ToString() 扩展为什么?

        不要使用 string1 + " " + string2 连接。 使用 string.Format()、$"" - 内联语法(如上)或 StringBuilder 来构建您的字符串。

        【讨论】:

          猜你喜欢
          • 2022-01-16
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2015-07-18
          • 1970-01-01
          • 2019-11-05
          相关资源
          最近更新 更多