我想将值插入数据库,但是即使我的代码用作存储过程时也能正常工作,但它无法正常工作。我试图使用按钮单击来存储值。请说明代码有什么问题。它没有显示任何错误或异常,但是表中的数据没有更新

protected void Button1_Click(object sender, EventArgs e)
{
        SqlConnection sqlConnection1 = new SqlConnection(ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString);
        SqlCommand cmd = new SqlCommand();

        cmd.CommandText = "INSERT INTO sales(acnum, scripname, shares_bought) VALUES ('12', 'abcd', '20')";
        cmd.CommandType = CommandType.Text;
        cmd.Connection = sqlConnection1;
        sqlConnection1.Open();

        cmd.ExecuteNonQuery();
        sqlConnection1.Close();
}

最佳答案

我的列acnum和share_bought是“ int”,而scripname是
  “ varchar”


这样,您就不需要为整数值添加单引号。用作;

...VALUES (12, 'abcd', 20)"


还有几件事;


使用using语句自动处理连接和命令,而不是手动调用Close方法。
您不需要cmd.CommandType = CommandType.Text行。默认情况下为.Text




var conStr = ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString);
using(var sqlConnection1 = new SqlConnection(conStr))
using(var cmd = sqlConnection1.CreateCommand())
{
   cmd.CommandText = "INSERT INTO sales(acnum, scripname, shares_bought) VALUES (12, 'abcd', 20)";
   sqlConnection1.Open();
   cmd.ExecuteNonQuery();
}

关于c# - 将值(value)插入数据库,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32499457/

10-11 03:33
查看更多