如何在c#中的sql table中的单词后插入换行符
how to insert newline after word in sql table in c#
我正在尝试在 car 之后插入新行,但它不适用于以下解决方案
Char(13)
- 不工作
Environment.NewLine
- 当我使用它时,它可以工作,但在 sql 行中附加 '(' 这个字符,例如 'Car ( Rate:2CR'
\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 来构建字符串。
我正在尝试在 car 之后插入新行,但它不适用于以下解决方案
Char(13)
- 不工作Environment.NewLine
- 当我使用它时,它可以工作,但在 sql 行中附加 '(' 这个字符,例如 'Car ( Rate:2CR'\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 来构建字符串。