为什么我得到执行非查询();执行主键后出错

本文关键字:执行 出错 查询 为什么 | 更新日期: 2023-09-27 17:55:09

在我把CustID int和自动增量放入数据库后,它会出现错误..但是在我删除它之后..可以保存在数据库中...现在的问题我想在 int 或主键中添加 CustID 可以工作。.我如何弹出/显示消息,就像项目已保存一样?

这是我的SQL数据库。

Custid int (could not work) help
custname varchar50
custadd varchar50
custphone varchar
custemail varchar50

这些是我的代码:

public partial class NewCase : System.Web.UI.Page
{
    SqlConnection con =new SqlConnection("Data Source=.''SQLEXPRESS;AttachDbFilename=C:''WebSite6''App_Data''ASPNETDB.MDF;Integrated Security=True;User Instance=True");
    SqlCommand com = new SqlCommand("Select * from aspnet_Customer");
public void Bind()
{
    SqlDataAdapter da = new SqlDataAdapter(com);
    DataSet ds = new DataSet();
    con.Open();
    com.Connection = con;
    com.ExecuteNonQuery();
    da.Fill(ds, "aspnet_Customer");
    con.Close();
}

protected void Button1_Click1(object sender, System.EventArgs e)
{
    con.Open();
    SqlCommand comi = new SqlCommand("Insert into aspnet_Customer values (@Custname,@Custaddress,@Custemail,@Custphone)");
    comi.Parameters.Add("Custname", SqlDbType.VarChar, 50);
    comi.Parameters["Custname"].Value = TextBox3.Text;
    comi.Parameters.Add("Custaddress", SqlDbType.VarChar, 50);
    comi.Parameters["Custaddress"].Value = TextBox9.Text;
    comi.Parameters.Add("Custemail", SqlDbType.VarChar, 50);
    comi.Parameters["Custemail"].Value = TextBox10.Text;
    comi.Parameters.Add("Custphone", SqlDbType.VarChar, 50);
    comi.Parameters["Custphone"].Value = TextBox11.Text;

    comi.Connection = con;
    comi.ExecuteNonQuery();
    con.Close();
    Message.box("DATA ADDED SUCCESSFULLY!!");
    Bind();
}

}

为什么我得到执行非查询();执行主键后出错

您必须INSERT INTO在子句中列出列名,以防万一有自动增量列,因此无法插入所有列(自动增量列自动生成)。

SqlCommand comi = new SqlCommand(
            "Insert into aspnet_Customer( Custname, Custaddress, Custemail, Custphone)
                  values (@Custname,@Custaddress,@Custemail,@Custphone)");