【发布时间】:2014-05-10 15:49:10
【问题描述】:
我有一个 Web 表单,我在其中使用具有多行属性的文本框控件,在此控件下方我使用标签控件。我希望在每次输入后,无论我在文本框中输入什么,标签控件中的文本都会附加我作为输入给出的文本。 这是我的 aspx 页面-
<table border="1">
<tr>
<td>Content:</td>
<td>
<asp:TextBox ID="txtdetails" runat="server" TextMode="MultiLine" Height="101px" Width="328px"></asp:TextBox><br />
<asp:Label ID="lblsource" runat="server" Text=""></asp:Label>
</td>
</tr>
<tr>
<td colspan="2" align="center">
<asp:Button ID="btnsub" runat="server" Text="Submit" onclick="btnsub_Click" />
</td>
</tr>
</table>
这是我的cs页面-
protected void btnsub_Click(object sender, EventArgs e)
{
try
{
if (txtdetails.Text != "")
{
txtdetails.Text = txtdetails.Text.Replace(System.Environment.NewLine, "<br>");
maxid = g1.generate_max_reg_id("select max(id) from tbl_content");
rows = g1.ExecDB("insert into tbl_content values(" + maxid + ",'" + txtdetails.Text.ToString() + string.Format("{0}<strong>MyName</strong>", lblsource.Text)+"')");
txtdetails.Text = string.Empty;
}
if (rows > 0)
{
ClientScript.RegisterStartupScript(typeof(Page), "AlertMessage", "alert('Successful!!!');window.location='textare_append.aspx';", true);
}
}
catch (Exception ex)
{
Response.Write(ex.ToString());
}
}
我在插入查询中遇到 SQL 异常。请指导我哪里做错了?
【问题讨论】:
-
异常说明了什么?
-
你得到什么异常类型
-
附带说明,您不应该只是将用户输入直接传递到数据库的查询/命令中,恶意用户可以通过这种方式进行 SQL 注入攻击。您应该转义/清理用户输入,或使用可以为您完成此操作的类。
-
Exception Says- System.Data.SqlClient.SqlException (0x80131904):字符串或二进制数据将被截断。该语句已终止。我想这是由于传递了大字符串。在我的数据库表中,我有数据类型 varchar(255);
标签: c# asp.net sql appendtext