C# 无法插入。不';不显示任何错误,但不显示';也不要插入

C# 无法插入。不';不显示任何错误,但不显示';也不要插入,c#,sql,asp.net,sql-server,C#,Sql,Asp.net,Sql Server,这是我的插入语句。记录未插入,但也未显示错误。请帮忙 protected void btn_Add_Click(object sender, EventArgs e) { if (btn_Add.Text == "Submit") { string Height = txtHeight.Text; string TopDia = Convert.ToString(txtTopDiaMeter.Text); string Bot

这是我的插入语句。记录未插入,但也未显示错误。请帮忙

protected void btn_Add_Click(object sender, EventArgs e)
{


    if (btn_Add.Text == "Submit")
    {

        string Height = txtHeight.Text;
        string TopDia = Convert.ToString(txtTopDiaMeter.Text);
        string BottomDia = Convert.ToString(txtBottomDiaMeter.Text);
        string ShaftThick = Convert.ToString(txtShaftThick.Text);
        string BlackWt = Convert.ToString(txtBlackWeight.Text);
        string TotManHrPerPole = Convert.ToString(txtTotManHrPoleData.Text);
        string Plate_Length = Convert.ToString(txtPlateLength.Text);
        string PLATE_DIA = Convert.ToString(txtPlateDia.Text);
        string PLATE_THICKNESS = Convert.ToString(txtPlateThick.Text);
        System.Collections.Hashtable ht = (System.Collections.Hashtable)Session["UserDetails"];
        Int64 UsrId = (Int64)ht["UserID"];
        string CreatedBy = Convert.ToString(UsrId);
        string FoundBoltId = Convert.ToString(ddlFoundationBolt.SelectedValue);
        string PoleTypeId = Convert.ToString(ddlPoltype.SelectedValue);
        string ProductTypeID = Convert.ToString(ddlPdtType.SelectedValue);

        string Status = chkActive.Checked ? "True" : "False";
        string filename = Path.GetFileName(fileuploadimages.PostedFile.FileName);
        fileuploadimages.SaveAs(Server.MapPath("~/Images/Pole Data/" + filename));

        try
        {
            SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["valmont"].ToString());
            con.Open();
            SqlCommand cmd = new SqlCommand("Insert into DEF_POLE_DATA_MST(Height,TopDia,BottomDia,ShaftThick,BlackWt,TotManHrPerPole,Plate_Length,PLATE_DIA,PLATE_THICKNESS,CreatedBy,FoundBoltId,PoleTypeID,ProductTypeID,Status,ImagePath) values(@Height,@TopDia,@BottomDia,@ShaftThick,@BlackWt,@TotManHrPerPole,@Plate_Length,@PLATE_DIA,@PLATE_THICKNESS,@CreatedBy,@FoundBoltId,@PoleTypeId,@ProductTypeID,@Status,@ImagePath)", con);

            cmd.Parameters.AddWithValue("@Height", Height);
            cmd.Parameters.AddWithValue("@TopDia", TopDia);
            cmd.Parameters.AddWithValue("@BottomDia", BottomDia);
            cmd.Parameters.AddWithValue("@ShaftThick", ShaftThick);
            cmd.Parameters.AddWithValue("@BlackWt", BlackWt);
            cmd.Parameters.AddWithValue("@TotManHrPerPole", TotManHrPerPole);
            cmd.Parameters.AddWithValue("@Plate_Length", Plate_Length);
            cmd.Parameters.AddWithValue("@PLATE_DIA", PLATE_DIA);
            cmd.Parameters.AddWithValue("@PLATE_THICKNESS", PLATE_THICKNESS);
            cmd.Parameters.AddWithValue("@CreatedBy", CreatedBy);
            cmd.Parameters.AddWithValue("@FoundBoltId", FoundBoltId);
            cmd.Parameters.AddWithValue("@PoleTypeId", PoleTypeId);
            cmd.Parameters.AddWithValue("@ProductTypeID", ProductTypeID);
            cmd.Parameters.AddWithValue("@Status", Status);
            cmd.Parameters.AddWithValue("@ImagePath", "~/Images/Pole Data/" + filename);
            cmd.ExecuteNonQuery();
            con.Close();

            BindGrid();
            Accordian.SelectedIndex = 1;
            JQUERYDisplay.ShowAlertMessage("Record Inserted Successfully");

            CleraFields();

        }
        catch (Exception ex)
        {
            JQUERYDisplay.ShowAlertMessage(ex.Message);
        }
        finally
        {

        }
    }
这是桌子:


这可能是因为
status
是insert语句中的关键字,请尝试将其包装在
[]
中,以便
[status]
并查看它是否工作在目标数据库上打开探查器,首先查看是否正在执行查询。如果不是,那么检查您的连接,看看它要去哪里,或者查询是否正在执行。如果正在导出,请检查索引,查看是否有任何索引将IGNORE_DUP_键设置为on。如果您发布从探查器执行的实际sql,也会有所帮助。为什么您要将所有值转换为字符串也bigint字段(即FoundBoltid、PoleTypeId等)?那么最大值是什么?你能说吗?我不熟悉c#所有字段都必须匹配相同类型的db,因此在代码中必须编写
Int64 PoleTypeId=Convert.ToInt64(“45”)
但在必须检查ddlPoltype.SelectedValue是否有值或使用
Int64.TryParse()
确保一致性之前,还要检查所需字段是否有值。这可能是因为insert语句中的
status
是关键字,请尝试将其包装在
[]
中,以便
[status]
并查看它是否工作在目标数据库上打开探查器,首先查看查询是否正在执行。如果不是,那么检查您的连接,看看它要去哪里,或者查询是否正在执行。如果正在导出,请检查索引,查看是否有任何索引将IGNORE_DUP_键设置为on。如果您发布从探查器执行的实际sql,也会有所帮助。为什么您要将所有值转换为字符串也bigint字段(即FoundBoltid、PoleTypeId等)?那么最大值是什么?你能说吗?我不熟悉c#所有字段都必须匹配相同类型的db,因此在代码中必须编写
Int64 PoleTypeId=Convert.ToInt64(“45”)
但在必须检查ddlPoltype.SelectedValue是否有值或使用
Int64.TryParse()
确保一致性之前,还要检查必填字段是否有值。