首页 > 解决方案 > 为什么文本框值没有插入数据库?

问题描述

我想将文档编号插入到adjustments_configvm 服务器中的表中,如下所示:

public string conString = "Data Source=vmrserver;Initial Catalog=Commission_web;Integrated Security=True";

SqlConnection con = new SqlConnection(conString);
con.Open();

if(con.State == System.Data.ConnectionState.Open)
{
    string q = "insert into adjustments_config(document_number)values('" + TextBoxDocNo.Text + "')";
    SqlCommand cmd = new SqlCommand(q, con);
    cmd.ExecuteNonQuery();
    Response.Redirect("About.aspx");
}

标签: c#asp.net

解决方案


如果没有更多信息,我不可能告诉你问题是什么,但你的 SQL 容易受到 SQL 注入的攻击。也许您的代码的问题是您的文档编号中有一个撇号,导致您的易受攻击的代码被炸毁。
试试这个让你开始:

try
{
    using(var con = new SqlConnection(conString))
    using(var cmd = new SqlCommand("insert into adjustments_config(document_number)values(@docNumber)", con)
    {
        con.Open();
        cmd.Parameters.AddWithValue("@docNumber", TextBoxDocNo.Text);
        var rowsAffected = cmd.ExecuteNonQuery();

        // ..validate rows affected
        Response.Redirect("About.aspx");
    }
}
catch(SqlException ex)
{
    MessageBox.Show(ex.Message);
}

推荐阅读