在数据库 *** ASP.Net 查询中插入时违反主键约束“PK__tblmembe__DD7012648BA5EC8B

本文关键字:约束 PK tblmembe DD7012648BA5EC8B Net ASP 数据库 查询 插入 | 更新日期: 2023-09-27 17:56:14

我为插入用户创建一个页面。

但是当我运行页面时,向我显示此错误

错误图片

ASP 代码

protected void Page_Load(object sender, EventArgs e)
{
    System.Data.SqlClient.SqlConnection con = new System.Data.SqlClient.SqlConnection();
    con.ConnectionString = System.Configuration.ConfigurationManager.ConnectionStrings["shopDBConnectionString"].ConnectionString;
    System.Data.SqlClient.SqlCommand cmd = new System.Data.SqlClient.SqlCommand();
    cmd.CommandText = "insert into tblmember values ('" + txtemail.Text + "','" + txtname.Text + "','" + txtfamily.Text + "','" + txtpass.Text + "','','" + DropDownList1.SelectedValue + "') ";
    cmd.CommandType = System.Data.CommandType.Text;
    cmd.Connection = con;
    con.Open();
    cmd.ExecuteNonQuery();
    con.Close();
    Response.Redirect("Default.aspx");
}

我的数据库

在数据库 *** ASP.Net 查询中插入时违反主键约束“PK__tblmembe__DD7012648BA5EC8B

您似乎没有在查询中传递主键,因为重复的键显示为空()。电子邮件列Uid名称让我感到困惑)必须是唯一的。不能有两行具有相同的主键。

其次,更重要的是,不要连接输入中的字符串来构建查询。这很容易注入有害查询,这些查询可能会删除您的数据库。

查看此示例,了解如何使用参数化查询。