如何将换行符从多行文本框传输到sql数据库,然后在gridview标签中强制执行它们?

时间:2017-06-09 15:16:02

标签: asp.net sql-server

我正在尝试将文本输入到多行文本框中,然后将其传输到SQL Server数据库中,然后从所述数据库中检索并显示在gridview中的标签内。到目前为止,这是我在标签上的代码

<asp:Label ID="NationalProjectDescriptionLabel" `CssClass="bodyText" runat="server" Text='<%# Eval("NationalProjectDescription").ToString().Replace(System.Environment.NewLine, "<br />") %>' />`

然而,在文本框中输入的换行符似乎并未复制到数据库中,而是开始。

这是我转移到数据库的代码

public static String createNewNationalProject(string strTitle, string strDescription)
{
SqlConnection conn = openConnection();//Open Connection

string strSQL = "INSERT INTO NationalProject(NationalProjectTitle, " +
            " NationalProjectDescription) " +
            " VALUES('" + strTitle + "', '" + strDescription + "')";//Insert Into Statement

SqlCommand cmd = new SqlCommand(strSQL, conn);//Close Connection

cmd.ExecuteNonQuery();

closeConnection(conn);
return strTitle;//Display Success

非常感谢任何帮助

1 个答案:

答案 0 :(得分:1)

在进入数据库的路上,如果我知道我希望数据返回显示在标签上,所以看起来每行之间都有一个回车符,我使用替换存储它

REPLACE(@YourString, CHAR(10) + CHAR(13), '<br />')

适合我。或者你可以在数据库的出路上进行替换。无论你喜欢什么。

暂且不说,帮自己一个忙,并使用命令参数将数据传递给存储过程。代码被视为文本文字,因此SQL注入不是问题。为什么人们在前端编写SQL代码会让我感到困惑。