Syntaxfehler in UPDATE-Anweisung

  • VB.NET

Es gibt 5 Antworten in diesem Thema. Der letzte Beitrag () ist von ErfinderDesRades.

    Syntaxfehler in UPDATE-Anweisung

    Hallo liebe Community :thumbsup:

    Ich hab ein Problem beim updaten einer Datenbank. Ein ähnliches Thema hatte ich schon mal eröffnet, hab nun aber auf csv umgestellt und bekomme einen anderen Fehler
    (Altes Thema: Installierbares ISAM nicht gefunden - Excel 2013)

    Das soll das Programm machen:
    1. Eine CSV-Datei in ein Datatable laden -> funktioniert
    2. Dem Datatable an erster Position eine neue Spalte ("ID") hinzufügen -> funktioniert
    3. Die Spalte ID zum Primärschlüssel machen -> funktioniert
    4. Doppelte Einträge aus dem Datatable entfernen -> funktioniert
    5. Inhalt der Datenbanktabelle löschen -> funktioniert
    6. Datatable in leere Datenbanktabelle updaten -> funktioniert nicht

    VB.NET-Quellcode

    1. Dim DT As DataTable
    2. Dim i As Integer = 0
    3. Dim Connect_csvdatei As New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & pfad_temp & ";Extended Properties='text;HDR=Yes;FMT=Delimited;';")
    4. Dim Command_csvdatei As New OleDb.OleDbCommand("SELECT * FROM de_pvu_vnwbestand.csv order by Betrieb, Aktnummer", Connect_csvdatei)
    5. Dim DataAdapter_csvdatei As New OleDb.OleDbDataAdapter
    6. l_fortschritt.Text = "Verbindung zur CSV aufbauen..."
    7. Me.Update()
    8. Connect_csvdatei.Open()
    9. DataAdapter_csvdatei.SelectCommand = Command_csvdatei
    10. DataAdapter_csvdatei.Fill(DS)
    11. l_fortschritt.Text = "Daten in DataSet laden..."
    12. Me.Update()
    13. DT = DS.Tables(0)
    14. DT.Columns.Add("ID").SetOrdinal(0)
    15. For Each row As DataRow In DT.Rows
    16. If aktnummer = row.Item(1) And Betrieb = row.Item(14) Then
    17. row.Delete()
    18. Else
    19. i = i + 1
    20. row.Item(0) = i
    21. aktnummer = row.Item(1)
    22. Betrieb = row.Item(14)
    23. End If
    24. Next
    25. DT.PrimaryKey = New DataColumn() {DT.Columns("ID")}
    26. dgv.DataSource = DT
    27. Me.Update()
    28. Dim Connect_nwbestand As New OleDb.OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=""Y:\EDV\Allgemein\VaudisNT\CROSS.accdb""")
    29. Dim adapter_nwbestand As New OleDb.OleDbDataAdapter("select * FROM [NW Bestand Test]", Connect_nwbestand)
    30. Connect_nwbestand.Open()
    31. Dim builder As OleDbCommandBuilder = New OleDbCommandBuilder(adapter_nwbestand)
    32. adapter_nwbestand.Update(DT)
    33. Connect_nwbestand.Close()
    34. Connect_csvdatei.Close()
    35. l_fortschritt.Text = "Importieren abgeschlossen..."
    36. MessageBox.Show("Gesamt: " & dgv.RowCount)


    Bei adapter_nwbestand.Update(DT) (Zeile 33) bricht das Programm mit der Meldung Syntaxfehler in UPDATE-Anweisung ab.
    Aber wo ist der Fehler? Vielleicht kann mir jemand ja einen Tipp geben...

    Danke schonmal :thumbsup:

    Dominik
    Setze einen Haltepunkt in zeile#33, und kontrolliere, ob adapter_nwbestand ühaupt ein UpdateCommand enthält.
    Wenn ja, wie lautet dessen CommandText?

    Falls du nicht weisst, wie das mit "Haltepunkt" und "kontrollieren" geht, gugge VisualStudio richtig nutzen (Google ist nicht deine Mami)

    Und verifiziere nochmal, ob der Fehler wirklich lautet "Syntaxfehler in UPDATE-Anweisung" - weil kann eiglich nicht sein - ein CommandBuilder macht entweder gar kein UpdateCommand da rein, oder syntaktisch richtig.

    achso - nee, wenn der CommandBuilder seinen Finger drauf hat, enthält der Adapter kein UpdateCommand. Dann musste das Command mit commandBuilder.GetUpdateCommand abrufen, um es zu kontrollieren.
    Moin... Entschuldigt meine verspätete Antwort ||

    Der Command Text lautet:

    UPDATE NW Bestand Test SET ID = ?, Aktnummer = ?, Bez Aktstatus = ?, KZ Aktstatus = ?, Arbeitsbereich = ?, Basisprovision in % = ?, Bez Bestellart = ?, KZ Bestellart = ?, Bez Bestellgrund = ?, KZ Bestellgrund = ?, Bez Bestellstatus = ?, GI-Bestellstatus Bez = ?, GI-Bestellstatus KZ = ?, KZ Bestellstatus = ?, Betrieb = ?, Auslieferungsbetrieb = ?, Bestellungsbetrieb = ?, Einkaufbetrieb = ?, Eintauschbetrieb = ?, Aviso-Datum = ?, Bestellungsdatum = ?, Checkpoint 8-Datum = ?, Erstzulassungsdatum = ?, Fahrzeugeingangsdatum = ?, GI-Rechnungsdatum = ?, Kaufvertragsdatum = ?, Typenscheindatum = ?, Datum Typenscheinanford = ?, Datum Typenscheindruck = ?, Eigengewicht = ?, Eigentümer GP-Nummer = ?, Eigentümer Nachname = ?, Eigentümer Vorname = ?, Eigentümer Namenszusatz = ?, Eigentümer variable Info = ?, Einzelgenehmigungskz = ?, Bruttogewinn Sonstige netto = ?, Deckungsbeitrag Sonstige netto = ?, Kulanzzahlungen netto = ?, Transportkosten netto = ?, Übergabekosten netto = ?, Zubautenkosten netto = ?, Zugabenkosten netto = ?, Emissionsklasse Bez = ?, Emissionsklasse KZ = ?, Fahrgestellnummer = ?, Fahrzeugart Bez = ?, Fahrzeugart KZ = ?, Fahrzeug variable Info = ?, Farbbezeichnung = ?, Farbcode = ?, Farbtyp = ?, Fahrzeugeinkaufspreis = ?, Kalk Fahrzeug-EK-Preis = ?, Großabnehmernummer = ?, Getriebeartkennzeichen = ?, Hubraum = ?, Innenausstattung Bez = ?, Innenausstattung Code = ?, KZ Karosserieart = ?, Mandantnummer = ?, Modulnummer = ?, Fahrzeug-ID = ?, Kommissionsnummer = ?, Kunde GP-Nummer = ?, Kunde Nachname = ?, Kunde Vorname = ?, Kunde Namenszusatz = ?, Kunde variable Info = ?, Bez Lagerort = ?, Bez Lagerplatz = ?, Laufende Nummer = ?, Leistung in KW = ?, Leistung in PS = ?, Lieferwoche = ?, LWK-Kennzeichen = ?, Markenbezeichnung = ?, Markenkennzeichen = ?, Modellgruppe ML Bezeichnung = ?, Modellgruppe ML Kennzeichen = ?, Bez Modellgruppe Vertrieb = ?, KZ Modellgruppe Vertrieb = ?, Bez VU-Modellgruppe = ?, KZ VU-Modellgruppe = ?, Modelljahr = ?, Modellbezeichnung = ?, Modellcode = ?, Motornummer = ?, Mehrausstattungsbez = ?, Mehrausstattungscode = ?, VK Mehrausstatt brutto = ?, Neuwagen variable Info = ?, NoVA in % = ?, Nutzlast = ?, Planwoche = ?, reserviert bis = ?, Reserv Verkäufer GP-Nummer = ?, Reserv Verkäufer Laufende Nr = ?, Reserv Verkäufer Nachname = ?, Reserv Verkäufer Vorname = ?, Reserv Verkäufer Namenszusatz = ?, Reserv Verkäufernummer = ?, aktuelle Schauglaswoche = ?, erste Schauglaswoche = ?, Sitzplätze = ?, finanzielle Standkosten = ?, Standkosten pro Tag = ?, finanzielle Standzeit = ?, physische Standzeit = ?, Stützungscode = ?, GA-Stützung = ?, GI-Stützung = ?, Eintauschkennzeichen = ?, Treibstoffartbezeichnung = ?, Treibstoffartkz = ?, Typenscheinnummer = ?, Typenscheinstatuskz = ?, Türanzahl = ?, Ucount = ?, Verkäufer A GP-Nummer = ?, Verkäufer A Laufende Nr = ?, Verkäufer A Nachname = ?, Verkäufer A Vorname = ?, Verkäufer A Namenszusatz = ?, Verkäufer A Nummer = ?, Verwendungszweck = ?, Farbpreis brutto = ?, Fahrzeugpreis brutto = ?, vorsteuerabzugsfähig = ?, zulässiges Gesamtgewicht = ?, gwmodellschlkz = ? WHERE ((ID = ?) AND ((? = 1 AND Aktnummer IS NULL) OR (Aktnummer = ?)) AND ((? = 1 AND Bez Aktstatus IS NULL) OR (Bez Aktstatus = ?)) AND ((? = 1 AND KZ Aktstatus IS NULL) OR (KZ Aktstatus = ?)) AND ((? = 1 AND Arbeitsbereich IS NULL) OR (Arbeitsbereich = ?)) AND ((? = 1 AND Basisprovision in % IS NULL) OR (Basisprovision in % = ?)) AND ((? = 1 AND Bez Bestellart IS NULL) OR (Bez Bestellart = ?)) AND ((? = 1 AND KZ Bestellart IS NULL) OR (KZ Bestellart = ?)) AND ((? = 1 AND Bez Bestellgrund IS NULL) OR (Bez Bestellgrund = ?)) AND ((? = 1 AND KZ Bestellgrund IS NULL) OR (KZ Bestellgrund = ?)) AND ((? = 1 AND Bez Bestellstatus IS NULL) OR (Bez Bestellstatus = ?)) AND ((? = 1 AND GI-Bestellstatus Bez IS NULL) OR (GI-Bestellstatus Bez = ?)) AND ((? = 1 AND GI-Bestellstatus KZ IS NULL) OR (GI-Bestellstatus KZ = ?)) AND ((? = 1 AND KZ Bestellstatus IS NULL) OR (KZ Bestellstatus = ?)) AND ((? = 1 AND Betrieb IS NULL) OR (Betrieb = ?)) AND ((? = 1 AND Auslieferungsbetrieb IS NULL) OR (Auslieferungsbetrieb = ?)) AND ((? = 1 AND Bestellungsbetrieb IS NULL) OR (Bestellungsbetrieb = ?)) AND ((? = 1 AND Einkaufbetrieb IS NULL) OR (Einkaufbetrieb = ?)) AND ((? = 1 AND Eintauschbetrieb IS NULL) OR (Eintauschbetrieb = ?)) AND ((? = 1 AND Aviso-Datum IS NULL) OR (Aviso-Datum = ?)) AND ((? = 1 AND Bestellungsdatum IS NULL) OR (Bestellungsdatum = ?)) AND ((? = 1 AND Checkpoint 8-Datum IS NULL) OR (Checkpoint 8-Datum = ?)) AND ((? = 1 AND Erstzulassungsdatum IS NULL) OR (Erstzulassungsdatum = ?)) AND ((? = 1 AND Fahrzeugeingangsdatum IS NULL) OR (Fahrzeugeingangsdatum = ?)) AND ((? = 1 AND GI-Rechnungsdatum IS NULL) OR (GI-Rechnungsdatum = ?)) AND ((? = 1 AND Kaufvertragsdatum IS NULL) OR (Kaufvertragsdatum = ?)) AND ((? = 1 AND Typenscheindatum IS NULL) OR (Typenscheindatum = ?)) AND ((? = 1 AND Datum Typenscheinanford IS NULL) OR (Datum Typenscheinanford = ?)) AND ((? = 1 AND Datum Typenscheindruck IS NULL) OR (Datum Typenscheindruck = ?)) AND ((? = 1 AND Eigengewicht IS NULL) OR (Eigengewicht = ?)) AND ((? = 1 AND Eigentümer GP-Nummer IS NULL) OR (Eigentümer GP-Nummer = ?)) AND ((? = 1 AND Eigentümer Nachname IS NULL) OR (Eigentümer Nachname = ?)) AND ((? = 1 AND Eigentümer Vorname IS NULL) OR (Eigentümer Vorname = ?)) AND ((? = 1 AND Eigentümer Namenszusatz IS NULL) OR (Eigentümer Namenszusatz = ?)) AND ((? = 1 AND Eigentümer variable Info IS NULL) OR (Eigentümer variable Info = ?)) AND ((? = 1 AND Einzelgenehmigungskz IS NULL) OR (Einzelgenehmigungskz = ?)) AND ((? = 1 AND Bruttogewinn Sonstige netto IS NULL) OR (Bruttogewinn Sonstige netto = ?)) AND ((? = 1 AND Deckungsbeitrag Sonstige netto IS NULL) OR (Deckungsbeitrag Sonstige netto = ?)) AND ((? = 1 AND Kulanzzahlungen netto IS NULL) OR (Kulanzzahlungen netto = ?)) AND ((? = 1 AND Transportkosten netto IS NULL) OR (Transportkosten netto = ?)) AND ((? = 1 AND Übergabekosten netto IS NULL) OR (Übergabekosten netto = ?)) AND ((? = 1 AND Zubautenkosten netto IS NULL) OR (Zubautenkosten netto = ?)) AND ((? = 1 AND Zugabenkosten netto IS NULL) OR (Zugabenkosten netto = ?)) AND ((? = 1 AND Emissionsklasse Bez IS NULL) OR (Emissionsklasse Bez = ?)) AND ((? = 1 AND Emissionsklasse KZ IS NULL) OR (Emissionsklasse KZ = ?)) AND ((? = 1 AND Fahrgestellnummer IS NULL) OR (Fahrgestellnummer = ?)) AND ((? = 1 AND Fahrzeugart Bez IS NULL) OR (Fahrzeugart Bez = ?)) AND ((? = 1 AND Fahrzeugart KZ IS NULL) OR (Fahrzeugart KZ = ?)) AND ((? = 1 AND Fahrzeug variable Info IS NULL) OR (Fahrzeug variable Info = ?)) AND ((? = 1 AND Farbbezeichnung IS NULL) OR (Farbbezeichnung = ?)) AND ((? = 1 AND Farbcode IS NULL) OR (Farbcode = ?)) AND ((? = 1 AND Farbtyp IS NULL) OR (Farbtyp = ?)) AND ((? = 1 AND Fahrzeugeinkaufspreis IS NULL) OR (Fahrzeugeinkaufspreis = ?)) AND ((? = 1 AND Kalk Fahrzeug-EK-Preis IS NULL) OR (Kalk Fahrzeug-EK-Preis = ?)) AND ((? = 1 AND Großabnehmernummer IS NULL) OR (Großabnehmernummer = ?)) AND ((? = 1 AND Getriebeartkennzeichen IS NULL) OR (Getriebeartkennzeichen = ?)) AND ((? = 1 AND Hubraum IS NULL) OR (Hubraum = ?)) AND ((? = 1 AND Innenausstattung Bez IS NULL) OR (Innenausstattung Bez = ?)) AND ((? = 1 AND Innenausstattung Code IS NULL) OR (Innenausstattung Code = ?)) AND ((? = 1 AND KZ Karosserieart IS NULL) OR (KZ Karosserieart = ?)) AND ((? = 1 AND Mandantnummer IS NULL) OR (Mandantnummer = ?)) AND ((? = 1 AND Modulnummer IS NULL) OR (Modulnummer = ?)) AND ((? = 1 AND Fahrzeug-ID IS NULL) OR (Fahrzeug-ID = ?)) AND ((? = 1 AND Kommissionsnummer IS NULL) OR (Kommissionsnummer = ?)) AND ((? = 1 AND Kunde GP-Nummer IS NULL) OR (Kunde GP-Nummer = ?)) AND ((? = 1 AND Kunde Nachname IS NULL) OR (Kunde Nachname = ?)) AND ((? = 1 AND Kunde Vorname IS NULL) OR (Kunde Vorname = ?)) AND ((? = 1 AND Kunde Namenszusatz IS NULL) OR (Kunde Namenszusatz = ?)) AND ((? = 1 AND Kunde variable Info IS NULL) OR (Kunde variable Info = ?)) AND ((? = 1 AND Bez Lagerort IS NULL) OR (Bez Lagerort = ?)) AND ((? = 1 AND Bez Lagerplatz IS NULL) OR (Bez Lagerplatz = ?)) AND ((? = 1 AND Laufende Nummer IS NULL) OR (Laufende Nummer = ?)) AND ((? = 1 AND Leistung in KW IS NULL) OR (Leistung in KW = ?)) AND ((? = 1 AND Leistung in PS IS NULL) OR (Leistung in PS = ?)) AND ((? = 1 AND Lieferwoche IS NULL) OR (Lieferwoche = ?)) AND ((? = 1 AND LWK-Kennzeichen IS NULL) OR (LWK-Kennzeichen = ?)) AND ((? = 1 AND Markenbezeichnung IS NULL) OR (Markenbezeichnung = ?)) AND ((? = 1 AND Markenkennzeichen IS NULL) OR (Markenkennzeichen = ?)) AND ((? = 1 AND Modellgruppe ML Bezeichnung IS NULL) OR (Modellgruppe ML Bezeichnung = ?)) AND ((? = 1 AND Modellgruppe ML Kennzeichen IS NULL) OR (Modellgruppe ML Kennzeichen = ?)) AND ((? = 1 AND Bez Modellgruppe Vertrieb IS NULL) OR (Bez Modellgruppe Vertrieb = ?)) AND ((? = 1 AND KZ Modellgruppe Vertrieb IS NULL) OR (KZ Modellgruppe Vertrieb = ?)) AND ((? = 1 AND Bez VU-Modellgruppe IS NULL) OR (Bez VU-Modellgruppe = ?)) AND ((? = 1 AND KZ VU-Modellgruppe IS NULL) OR (KZ VU-Modellgruppe = ?)) AND ((? = 1 AND Modelljahr IS NULL) OR (Modelljahr = ?)) AND ((? = 1 AND Modellbezeichnung IS NULL) OR (Modellbezeichnung = ?)) AND ((? = 1 AND Modellcode IS NULL) OR (Modellcode = ?)) AND ((? = 1 AND Motornummer IS NULL) OR (Motornummer = ?)) AND ((? = 1 AND Mehrausstattungsbez IS NULL) OR (Mehrausstattungsbez = ?)) AND ((? = 1 AND Mehrausstattungscode IS NULL) OR (Mehrausstattungscode = ?)) AND ((? = 1 AND VK Mehrausstatt brutto IS NULL) OR (VK Mehrausstatt brutto = ?)) AND ((? = 1 AND Neuwagen variable Info IS NULL) OR (Neuwagen variable Info = ?)) AND ((? = 1 AND NoVA in % IS NULL) OR (NoVA in % = ?)) AND ((? = 1 AND Nutzlast IS NULL) OR (Nutzlast = ?)) AND ((? = 1 AND Planwoche IS NULL) OR (Planwoche = ?)) AND ((? = 1 AND reserviert bis IS NULL) OR (reserviert bis = ?)) AND ((? = 1 AND Reserv Verkäufer GP-Nummer IS NULL) OR (Reserv Verkäufer GP-Nummer = ?)) AND ((? = 1 AND Reserv Verkäufer Laufende Nr IS NULL) OR (Reserv Verkäufer Laufende Nr = ?)) AND ((? = 1 AND Reserv Verkäufer Nachname IS NULL) OR (Reserv Verkäufer Nachname = ?)) AND ((? = 1 AND Reserv Verkäufer Vorname IS NULL) OR (Reserv Verkäufer Vorname = ?)) AND ((? = 1 AND Reserv Verkäufer Namenszusatz IS NULL) OR (Reserv Verkäufer Namenszusatz = ?)) AND ((? = 1 AND Reserv Verkäufernummer IS NULL) OR (Reserv Verkäufernummer = ?)) AND ((? = 1 AND aktuelle Schauglaswoche IS NULL) OR (aktuelle Schauglaswoche = ?)) AND ((? = 1 AND erste Schauglaswoche IS NULL) OR (erste Schauglaswoche = ?)) AND ((? = 1 AND Sitzplätze IS NULL) OR (Sitzplätze = ?)) AND ((? = 1 AND finanzielle Standkosten IS NULL) OR (finanzielle Standkosten = ?)) AND ((? = 1 AND Standkosten pro Tag IS NULL) OR (Standkosten pro Tag = ?)) AND ((? = 1 AND finanzielle Standzeit IS NULL) OR (finanzielle Standzeit = ?)) AND ((? = 1 AND physische Standzeit IS NULL) OR (physische Standzeit = ?)) AND ((? = 1 AND Stützungscode IS NULL) OR (Stützungscode = ?)) AND ((? = 1 AND GA-Stützung IS NULL) OR (GA-Stützung = ?)) AND ((? = 1 AND GI-Stützung IS NULL) OR (GI-Stützung = ?)) AND ((? = 1 AND Eintauschkennzeichen IS NULL) OR (Eintauschkennzeichen = ?)) AND ((? = 1 AND Treibstoffartbezeichnung IS NULL) OR (Treibstoffartbezeichnung = ?)) AND ((? = 1 AND Treibstoffartkz IS NULL) OR (Treibstoffartkz = ?)) AND ((? = 1 AND Typenscheinnummer IS NULL) OR (Typenscheinnummer = ?)) AND ((? = 1 AND Typenscheinstatuskz IS NULL) OR (Typenscheinstatuskz = ?)) AND ((? = 1 AND Türanzahl IS NULL) OR (Türanzahl = ?)) AND ((? = 1 AND Ucount IS NULL) OR (Ucount = ?)) AND ((? = 1 AND Verkäufer A GP-Nummer IS NULL) OR (Verkäufer A GP-Nummer = ?)) AND ((? = 1 AND Verkäufer A Laufende Nr IS NULL) OR (Verkäufer A Laufende Nr = ?)) AND ((? = 1 AND Verkäufer A Nachname IS NULL) OR (Verkäufer A Nachname = ?)) AND ((? = 1 AND Verkäufer A Vorname IS NULL) OR (Verkäufer A Vorname = ?)) AND ((? = 1 AND Verkäufer A Namenszusatz IS NULL) OR (Verkäufer A Namenszusatz = ?)) AND ((? = 1 AND Verkäufer A Nummer IS NULL) OR (Verkäufer A Nummer = ?)) AND ((? = 1 AND Verwendungszweck IS NULL) OR (Verwendungszweck = ?)) AND ((? = 1 AND Farbpreis brutto IS NULL) OR (Farbpreis brutto = ?)) AND ((? = 1 AND Fahrzeugpreis brutto IS NULL) OR (Fahrzeugpreis brutto = ?)) AND ((? = 1 AND vorsteuerabzugsfähig IS NULL) OR (vorsteuerabzugsfähig = ?)) AND ((? = 1 AND zulässiges Gesamtgewicht IS NULL) OR (zulässiges Gesamtgewicht = ?)) AND ((? = 1 AND gwmodellschlkz IS NULL) OR (gwmodellschlkz = ?)))

    Nur warum steht da überall das '?' ?
    jo, dassis ein generiertes Command mit Überprüfung auf DbConcurrency - die sind sehr umständlich, und in diesem Falle ich finde extrem.
    Und auf richtigkeit kann ich das auch nicht üprüfen, aber vermutlich schon.
    Die vielen Fragezeichen sind Parameter-Platzhalter.
    Du kannstes vereinfachen,wenn du am commandBuilder System.Data.ConflictOption.OverwriteChanges einstellst.
    Was mir grad logisch aufstösst ist, dass du Datensätze zufügen willst, aber Probleme mittm Update-Command kriegst.
    Dassis unlogisch, denn beim Zufügen sollte der updateCommand garnet angesprochen werden, sondern der insertCommand.
    Guck mal den auch nach, vlt. ist ja was damit.
    Jo, jetzt dein Code geguckt - zeilen #20-23 scheinen am Primkey rumzufummeln - dassis NoGo.
    evtl. löst sich alles in Luft auf, wennde diese Zeilen rauswirfst.
    Ich glaube aber fast, das reicht noch nicht, sondern deiner DataTable fehlt ausserdem ein negativer AutoIncrement auf de Primärschlüssel-Spalte.



    Und was ganz wichtig ist: Stell mal Option Strict On.
    Hat jetzt mittm konkreten Problem nix zu tun, nur man sieht deim Code an, dass du Eigenheiten verschiedener Datentypen zu berücksichtigen nicht gewohnt bist.
    Dessen sollte man sich aber gewöhnen!



    Ah - jetzt fällt mir doch was mit dem Update-Command auf!
    Die Spalten-Namen bestehen aus mehreren Worten - das ist in dieser Form glaub totale Grütze.
    ZB

    SQL-Abfrage

    1. Bez Aktstatus = ?
    Ich verwende nie mehr-Wortige Datenspalten, daher weiss ich nicht, ob das überhaupt funktionieren kann.
    Also wenn, dann müsste es aber glaub so heissen:

    SQL-Abfrage

    1. [Bez Aktstatus] = ?
    Und überprüfe auch, ob denn in deiner Datenbank tatsächlich die Spalten so unglücklich benamt sind.


    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „ErfinderDesRades“ ()

    In der Zeile 15 füge ich dem DT eine Spalte ("ID") hinzu. In den Zeilen 20-23 bekommen die Zeilen der Spalte ID ihre Werte und in Zeile 26 gebe ich an, dass die Spalte der PrimeryKey ist.

    Wenn ich das mit der Spalte ID hinzufügen weg lassen, läuft das Programm zwar durch, schreibt aber nichts in die DB...
    Was meinst du mit deiner DataTable fehlt ausserdem ein negativer AutoIncrement auf de Primärschlüssel-Spalte. ?

    Das ist der Insert:
    INSERT INTO NW Bestand Test (ID, Aktnummer, Bez Aktstatus, KZ Aktstatus, Arbeitsbereich, Basisprovision in %, Bez Bestellart, KZ Bestellart, Bez Bestellgrund, KZ Bestellgrund, Bez Bestellstatus, GI-Bestellstatus Bez, GI-Bestellstatus KZ, KZ Bestellstatus, Betrieb, Auslieferungsbetrieb, Bestellungsbetrieb, Einkaufbetrieb, Eintauschbetrieb, Aviso-Datum, Bestellungsdatum, Checkpoint 8-Datum, Erstzulassungsdatum, Fahrzeugeingangsdatum, GI-Rechnungsdatum, Kaufvertragsdatum, Typenscheindatum, Datum Typenscheinanford, Datum Typenscheindruck, Eigengewicht, Eigentümer GP-Nummer, Eigentümer Nachname, Eigentümer Vorname, Eigentümer Namenszusatz, Eigentümer variable Info, Einzelgenehmigungskz, Bruttogewinn Sonstige netto, Deckungsbeitrag Sonstige netto, Kulanzzahlungen netto, Transportkosten netto, Übergabekosten netto, Zubautenkosten netto, Zugabenkosten netto, Emissionsklasse Bez, Emissionsklasse KZ, Fahrgestellnummer, Fahrzeugart Bez, Fahrzeugart KZ, Fahrzeug variable Info, Farbbezeichnung, Farbcode, Farbtyp, Fahrzeugeinkaufspreis, Kalk Fahrzeug-EK-Preis, Großabnehmernummer, Getriebeartkennzeichen, Hubraum, Innenausstattung Bez, Innenausstattung Code, KZ Karosserieart, Mandantnummer, Modulnummer, Fahrzeug-ID, Kommissionsnummer, Kunde GP-Nummer, Kunde Nachname, Kunde Vorname, Kunde Namenszusatz, Kunde variable Info, Bez Lagerort, Bez Lagerplatz, Laufende Nummer, Leistung in KW, Leistung in PS, Lieferwoche, LWK-Kennzeichen, Markenbezeichnung, Markenkennzeichen, Modellgruppe ML Bezeichnung, Modellgruppe ML Kennzeichen, Bez Modellgruppe Vertrieb, KZ Modellgruppe Vertrieb, Bez VU-Modellgruppe, KZ VU-Modellgruppe, Modelljahr, Modellbezeichnung, Modellcode, Motornummer, Mehrausstattungsbez, Mehrausstattungscode, VK Mehrausstatt brutto, Neuwagen variable Info, NoVA in %, Nutzlast, Planwoche, reserviert bis, Reserv Verkäufer GP-Nummer, Reserv Verkäufer Laufende Nr, Reserv Verkäufer Nachname, Reserv Verkäufer Vorname, Reserv Verkäufer Namenszusatz, Reserv Verkäufernummer, aktuelle Schauglaswoche, erste Schauglaswoche, Sitzplätze, finanzielle Standkosten, Standkosten pro Tag, finanzielle Standzeit, physische Standzeit, Stützungscode, GA-Stützung, GI-Stützung, Eintauschkennzeichen, Treibstoffartbezeichnung, Treibstoffartkz, Typenscheinnummer, Typenscheinstatuskz, Türanzahl, Ucount, Verkäufer A GP-Nummer, Verkäufer A Laufende Nr, Verkäufer A Nachname, Verkäufer A Vorname, Verkäufer A Namenszusatz, Verkäufer A Nummer, Verwendungszweck, Farbpreis brutto, Fahrzeugpreis brutto, vorsteuerabzugsfähig, zulässiges Gesamtgewicht, gwmodellschlkz) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)

    commander schrieb:

    Was meinst du mit deiner DataTable fehlt ausserdem ein negativer AutoIncrement auf de Primärschlüssel-Spalte. ?
    naja, guck doch mal DataColumn im ObjectBrowser nach, dort die Properties, die mit AutoIncrement... anfangen.

    Und weiters sollteste System.Data.Common.DataAdapter.AcceptChangesDuringFill = False setzen, beim DataAdapter_csvdatei.
    Weil wenn der Accepted wird nix mehr geupdated.