C# C SQL-在具有换行符的db表中插入或选择文本的最佳方法是什么

C# C SQL-在具有换行符的db表中插入或选择文本的最佳方法是什么,c#,sql-server,C#,Sql Server,我正在使用Graphic.DrawString创建收据的页脚。正在从我的数据库中选择数据。目前,我的表格设计包含行1、2、3到7的5个字段。它们都是单行线,不太灵活。比如说我想在我的页脚上放一个宣传片或一条相当长的信息。我正在考虑将我的表设计更改为只有一列消息和数据类型,可能是text或varchar。我如何在该字段中放置多行 编辑:更新:我的收据是在Winform中创建的您应该试试这段代码 private string GetDBString(string SqlFieldName, SqlD

我正在使用Graphic.DrawString创建收据的页脚。正在从我的数据库中选择数据。目前,我的表格设计包含行1、2、3到7的5个字段。它们都是单行线,不太灵活。比如说我想在我的页脚上放一个宣传片或一条相当长的信息。我正在考虑将我的表设计更改为只有一列消息和数据类型,可能是text或varchar。我如何在该字段中放置多行


编辑:更新:我的收据是在Winform中创建的

您应该试试这段代码

private string GetDBString(string SqlFieldName, SqlDataReader Reader)
    {
return Reader[SqlFieldName].Equals(DBNull.Value) ? String.Empty : Reader.GetString(SqlFieldName);
    }
那就试试这样的

private void somemethod()
{
string query = "SELECT * FROM [mssql_table_name] WHERE id=1";
//I suppose you should have your datarow as id one. This helps a lot or where line="data in that"
//whatever helps to find your row
SqlConnection sqc = new SqlConnection(connection_string); // Defined by you
sqc.Open();
SqlCommand command = SqlCommand(query,sqc);
SqlDataReader reader = command.ExecuteReader();
this.footer.Text = GetDBString("line1", reader) + "\n" + GetDBString("line",reader)... etc;
您只需在新的GetDBString插入之前插入:+\n+


我希望我确实帮助了您,并且我很好地理解了您的问题。

您应该试试这段代码

private string GetDBString(string SqlFieldName, SqlDataReader Reader)
    {
return Reader[SqlFieldName].Equals(DBNull.Value) ? String.Empty : Reader.GetString(SqlFieldName);
    }
那就试试这样的

private void somemethod()
{
string query = "SELECT * FROM [mssql_table_name] WHERE id=1";
//I suppose you should have your datarow as id one. This helps a lot or where line="data in that"
//whatever helps to find your row
SqlConnection sqc = new SqlConnection(connection_string); // Defined by you
sqc.Open();
SqlCommand command = SqlCommand(query,sqc);
SqlDataReader reader = command.ExecuteReader();
this.footer.Text = GetDBString("line1", reader) + "\n" + GetDBString("line",reader)... etc;
您只需在新的GetDBString插入之前插入:+\n+


我希望我确实帮助了您,并且我很了解您的问题。

varchar将毫无问题地维护回车。现在,如果你想在html中显示这些换行符,你必须要有点创意。不要使用文本数据类型。自sql 2005以来,varcharmax已被弃用。请使用CRLF字符?如果数据中有空格,则c中的字符串中将有空格。为什么不试试呢?要在windows窗体应用程序中显示,您需要确保用于显示的任何控件都支持多行显示。您似乎过度关注人们每天所做的显示类型。当然,将保留空间。换行符与任何其他字符一样只是一个字符。但是,在显示时,它会插入一个换行符,而不是像普通字符一样插入一系列暗像素。请再试一次。确定某件东西是否会以某种方式打印的最佳方法是在打印机中粘贴一张纸并打印它无论如何,在完成之前,您必须这样做。varchar将毫无问题地维护回车。现在,如果你想在html中显示这些换行符,你必须要有点创意。不要使用文本数据类型。自sql 2005以来,varcharmax已被弃用。请使用CRLF字符?如果数据中有空格,则c中的字符串中将有空格。为什么不试试呢?要在windows窗体应用程序中显示,您需要确保用于显示的任何控件都支持多行显示。您似乎过度关注人们每天所做的显示类型。当然,将保留空间。换行符与任何其他字符一样只是一个字符。但是,在显示时,它会插入一个换行符,而不是像普通字符一样插入一系列暗像素。请再试一次。确定某件东西是否会以某种方式打印的最佳方法是在打印机中粘贴一张纸并打印它在完成之前,您必须执行此操作。您应该使用Environment.NewLine而不是\n。您应该使用Environment.NewLine而不是\n。