Primary Key darf nicht null sein

  • VB.NET

Es gibt 2 Antworten in diesem Thema. Der letzte Beitrag () ist von HolyAbsolut.

    Primary Key darf nicht null sein

    Hallo,

    Ich habe wieder ein Problem. Ich lese meine Datenbank (mdb) ueber den OleDbadapter in ein Dataset.
    Aus irgendwelchen Gruenden wird dabei die der Status "PrimaryKey" mein ID Spalte aberkannt.
    Daher deklarier ich den Key sofort nach dem einlesen.

    DS.Tables("Table").PrimaryKey = New DataColumn() {DS.Tables("Table").Columns("ID")}

    Die Spalte ID ist uebrigens eine "auto increment" Spalte.

    Nun will ich eine neue Zeile anlegen. Allerdings meckert er das die Spalte ID dabei nicht von mir gefuellt wird

    "Spalte 'ID' läßt nicht 'nulls' zu."

    Hier die relvanten Teile des Codes

    VB.NET-Quellcode

    1. DA = New OleDb.OleDbDataAdapter(SQL, con)
    2. DA.Fill(DS, "Table")
    3. con.Close()
    4. DS.Tables("Table").PrimaryKey = New DataColumn() {DS.Tables("Table").Columns("ID")}
    5. --------------------------------------------------------------------------------------------
    6. Dim dsNewRow As DataRow
    7. dsNewRow = DS.Tables("Table").NewRow()
    8. dsNewRow.Item("Date_Create") = Date.Now
    9. dsNewRow.Item("Status") = "Remaining"
    10. dsNewRow.Item("Last_User") = My.Settings.User
    11. DS.Tables("Table").Rows.Add(dsNewRow)
    12. Case Taskbox.Text = "New Doc & Sent"


    Wisst ihr wie ich dieses Dilemma umgehen kann ?
    Der Primary Key ist fuer mich notwenig da ich beim updaten manchmal Rows.Find nutzen muss, und auf auto increment moechte ich nur ungern verzichten


    Mit freundlichen Gruessen

    HolyAbsolut

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „HolyAbsolut“ ()

    HolyAbsolut schrieb:

    Aus irgendwelchen Gruenden wird dabei die der Status "PrimaryKey" mein ID Spalte aberkannt.
    Wenn du denkst, dass Primkey-Festlegungen und dergleichen beim normalen Daten-Abruf mit abgerufen werden, dann täuschst du dich.

    HolyAbsolut schrieb:

    Die Spalte ID ist uebrigens eine "auto increment" Spalte.
    In der Datenbank vielleicht, aber nicht unbedingt in deim Dataset.


    Primkey-Festlegungen, AutoIncrement, und dergleichen konfiguriert man am besten mittm DatasetDesigner.
    Hat man eine DB hinterliegen, kannman auch mittm Datenquellen-Assistenten das typisierte Dataset sich generieren lassen.
    gugge "Datenbank in 10 Minuten" auf Movie-Tuts