我正在尝试将文本输入到多行文本框中,然后将其传输到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
非常感谢任何帮助
答案 0 :(得分:1)
在进入数据库的路上,如果我知道我希望数据返回显示在标签上,所以看起来每行之间都有一个回车符,我使用替换存储它
REPLACE(@YourString, CHAR(10) + CHAR(13), '<br />')
适合我。或者你可以在数据库的出路上进行替换。无论你喜欢什么。
暂且不说,帮自己一个忙,并使用命令参数将数据传递给存储过程。代码被视为文本文字,因此SQL注入不是问题。为什么人们在前端编写SQL代码会让我感到困惑。