首页 > 解决方案 > 如何插入表格 Int And Textbox=varchar And Richtextbox=(varcharMax) Types

问题描述

我一直在尝试将用户输入的值插入到我的 sql 数据库中,但它失败了很多次。以下是我尝试过的不同方法:

private void VessDet_Load(object sender, EventArgs e)
{
    // SqlCommand cmd = new SqlCommand(" insert into Ves (Imo , VEsName , First_Bay, Last_Bay , TL_Condition ) values ( " + txtImo.Text + ",'" + txtName.Text + "'," + txtFirstBay.Text + "," + txtLastBay.Text +",'" + richTextBox1.Text + "' ) ", cnx);

    SqlCommand cmd = new SqlCommand(" insert into Ves (Imo,VEsName,First_Bay,Last_Bay,TL_Condition) values ( @Imo,@VEsName,@First_Bay,@Last_Bay,@TL_Condition ) ", cnx);
      cnx.Open();
         cmd.Parameters.Add("@Imo", txtImo.Text);
         cmd.Parameters.Add("@VEsName", txtImo.Text);
         cmd.Parameters.Add("@First_Bay", txtImo.Text);
         cmd.Parameters.Add("@Last_Bay", txtImo.Text);
         cmd.Parameters.Add("@TL_Condition", txtImo.Text);
         cmd.ExecuteNonQuery();
         cnx.Close();
}

这是我尝试的第二种方式

private void VessDet_Load(object sender, EventArgs e)
{
    // SqlCommand cmd = new SqlCommand(" insert into Ves (Imo , VEsName , First_Bay, Last_Bay , TL_Condition ) values ( " + txtImo.Text + ",'" + txtName.Text + "'," + txtFirstBay.Text + "," + txtLastBay.Text +",'" + richTextBox1.Text + "' ) ", cnx);

      string ab = ("insert into Ves (Imo , VEsName , First_Bay, Last_Bay , TL_Condition ) Values ('" + txtImo.Text+"','"+txtName.Text+ "' ,"+txtFirstBay.Text+" ,"+txtLastBay.Text +" ,'"+richTextBox1.Text.ToString()+"' )");
      SqlCommand cmd = new SqlCommand(ab, cnx);
      cnx.Open();
        cmd.ExecuteNonQuery();
        cnx.Close();

}

标签: c#.net

解决方案


我猜您正在尝试将字符串值发送到整数参数。

    cmd.Parameters.Add("@Imo", txtImo.Text);
    cmd.Parameters.Add("@VEsName", txtImo.Text);
    cmd.Parameters.Add("@First_Bay", int.Parse(txtImo.Text));
    cmd.Parameters.Add("@Last_Bay", int.Parse(txtImo.Text));
    cmd.Parameters.Add("@TL_Condition", txtImo.Text);

推荐阅读