2013-08-30 41 views
0

我真的希望有人能帮助我解决这个问题:“如何使用相同的主键添加不同的数据?”使用相同的主键添加不同的数据

我有一个问题,我不能使用相同的主键插入不同的数据。 情况是这样的: 我有一个表是买方,我选择Purchaser_ID作为主键。在1个ID中,它可以有很多交易。我面临的问题是“违反PRIMARY KEY约束'PK_PurchaserDetails”。无法复制的对象dbo.PurchaserDetails'的关键。”

这是我的编码

Dim connString As String = ConfigurationManager.ConnectionStrings("testCRMConnectionString").ConnectionString 
    Dim con As SqlConnection = New SqlConnection(connString) 
    Dim cmd As SqlCommand 

    Dim cmdQuery As String = "INSERT INTO PurchaserDetails(Purchaser_ID,Township,Phase,SPA,Date_Purchase) VALUES (@Purchaser_ID,@Township,@Phase,@Price,@Date_Purchase)" 
    cmd = New SqlCommand(cmdQuery, con) 
    cmd.Connection = con 
    cmd.CommandType = CommandType.Text 

    con.Open() 

    cmd.Parameters.AddWithValue("@Purchaser_ID", TextBox1.Text) 
    cmd.Parameters.AddWithValue("@Township", DropDownList1.SelectedItem.Text) 
    cmd.Parameters.AddWithValue("@Price", TextBox2.Text) 
    cmd.Parameters.AddWithValue("@Phase", TextBox3.Text) 
    cmd.Parameters.AddWithValue("@Date_Purchase", TextBox4.Text) 


    cmd.ExecuteNonQuery() 
    cmd.Parameters.Clear() 
    con.Close() 
+0

通过定义和设计决策的数据,主键是独一无二的,你不能有相同的主键的多个行。你可能可能会选择别的东西是主键(可能是Purchaser_ID +时间戳或其他)。 – jitendra

回答

0

你不能在表中的新数据插入再次添加相同primery键,如果你想改变任何行使用更新查询的这个

Dim cmdQuery As String = "Update PurchaserDetails set @Township=Township,@Phase=Phase,@Price=SPA,@Date_Purchase=Date_Purchase where @Purchaser_ID=Purchaser_ID 
相关问题