0

誰かがこの問題で私を助けてくれることを本当に願っています:「同じ主キーで異なるデータを追加する方法は?」

同じ主キーを使用して別のデータを挿入できないという問題があります。状況はこのようなものです: 私は Purchaser である 1 つのテーブルを持っており、主キーとして 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()
4

1 に答える 1

0

テーブルに新しいデータを挿入するために、同じ基本キーを再度追加することはできません。任意の行のデータを変更する場合は、これに対して更新クエリを使用します

Dim cmdQuery As String = "Update PurchaserDetails set @Township=Township,@Phase=Phase,@Price=SPA,@Date_Purchase=Date_Purchase where @Purchaser_ID=Purchaser_ID
于 2013-08-30T04:27:18.210 に答える