如何在c#中的sql table中的单词后插入换行符

how to insert newline after word in sql table in c#

我正在尝试在 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(); 

需要在sqltableColumnCar行输出值如下:

Car
Rate:2cr  

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

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

试试这个代码希望它的工作...

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

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

现在输入您的代码

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

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

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

而不同

使用字符

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";

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

  string carString = $"Volvo{Environment.NewLine}Rate: 2CR";

  SqlParameter parameter = new SqlParameter("@ColumnCar", carString);
  command.Parameters.Add(parameter);

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

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