【问题标题】:How to append text value of a label control with textbox control. How to insert this value into database?如何使用文本框控件附加标签控件的文本值。如何将此值插入数据库?
【发布时间】: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


【解决方案1】:
protected void btnsub_Click(object sender, EventArgs e)
{
    try
    {
        if (txtdetails.Text != "")
        {
            lblsource.Text=lblsource.Text+ 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());
     }
 }

【讨论】:

  • 非常感谢您的建议。
猜你喜欢
  • 1970-01-01
  • 2011-02-19
  • 2011-05-05
  • 1970-01-01
  • 2017-08-23
  • 1970-01-01
  • 2019-11-27
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多