如何在c#

时间:2016-09-17 10:30:54

标签: c# sql newline

我试图在单词car之后插入New Line但是它不能使用以下解决方案

  1. Char(13) - 无法正常工作
  2. Environment.NewLine - 当我使用它时,它可以正常工作,但会附加'('这个字符在sql行中,例如' Car(评分:2CR'
  3. \n\r - 无法正常工作
  4. 代码:

    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 table ColumnCar行值,如下所示:

    Car
    Rate:2cr  
    

    注意:在Car之后会有换行符,然后会加上Rate:2Cr

4 个答案:

答案 0 :(得分:2)

使用LoC Car + "char(13)" + "Rate:2CR";,您将在2个值之间获得文字字符串"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";

答案 1 :(得分:0)

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

答案 2 :(得分:0)

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

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

ex:string abc = textbox1.text +“”+“Rate:2cr”; @ ColumnCar = abc.tostring();

现在把你的代码

cmd.Parameters.AddWithValue( “@ ColumnCar”,数据类型); cmd.executenonquery();

答案 3 :(得分:0)

以下代码适用于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是什么?一个类实例?它的ToString()扩展为什么?

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