Zum Inhalt springen

[VB.NET] Fehler bei Insert


Empfohlene Beiträge

Geschrieben

Hallo, ich bins mal wieder.

Folgender Codeausschnitt liegt vor:

Dim cmd As New SqlServerCe.SqlCeCommand



Dim sqlc As String = "INSERT INTO tblAuftr_sync 

(FakturNr,KundenNummer,Kunde,ArtikelNr,AuspraegungsID,EAN,Bezeichnung,bestellteqm,imSystemErfasst

,Lieferwoche,Rollenbreite,Durchmesser,anzRollenPal,GewichtQm,BemerkungenzumAuftrag,Rohstoffeverfüg

bar,gefertigt,technischeVoraussetzung,Auftragteilgefertigt,Auftragfertig,Auftragstorniert,Auftragausgelie

fert,AuftragfuerVeredelung,fertigfuerVeredelung,Prioritaet,Bearb,Lagerplatz,Freigabe,Versandl,NurVeredel

ung,AuftragMemo,Mandant,Mandantenbezeichnung,BelPosID,Preiseinheit,sync,sync_u) VALUES 

(@Fakturnummer,@Kunden_Nummer,@Kunde,@Artikel_Nr,@AuspraegungsID,@EAN,@Bezeichnung,@best

ellte_qm,@erfasst,@Lieferwoche,@Rollenbreite,@Durchmesser,@anz_Rollen_Pall,@Gewicht_m_,@Bemerk

ungen_zum_Auftrag,@Rohstoffe_verfuegbar,@gefertigt,@technische_Voraussetzung,@Auftrag_teilgefert

igt,@Auftrag_fertig,@Auftrag_storniert,@Auftrag_ausgeliefert,@Auftrag_fuer_Veredelung,@fertig_fuer_V

eredelung,@Prioritaet,@Bearb,@Lagerplatz,@Freigabe,@Versandl,@Nur_Veredelung,@AuftragMemo,@Ma

ndant,@Mandantenbezeichnung,@BelPosID,@Preiseinheit,@sync,@sync_u);"


                        With cmd

                            With .Parameters

                                .AddWithValue("@Fakturnummer", i.Faktur_Nr)

                                .AddWithValue("@Kunden_Nummer", i.Kunden_Nummer)

                                .AddWithValue("@Kunde", i.Kunde)

                                .AddWithValue("@Artikel_Nr", i.Artikel_Nr)

                                .AddWithValue("@AuspraegungsID", i.AuspraegungsID)

                                .AddWithValue("@EAN", i.EAN)

                                .AddWithValue("@Bezeichnung", i.Bezeichnung)

                                .AddWithValue("@bestellte_qm", i.bestellte_qm)

                                .AddWithValue("@erfasst", Format$(erfasst, "MM.dd.yyyy"))

                                .AddWithValue("@Lieferwoche", i.Lieferwoche)

                                .AddWithValue("@Rollenbreite", i.Rollenbreite)

                                .AddWithValue("@Durchmesser", i.Durchmesser)

                                .AddWithValue("@anz_Rollen_Pall", i.anz_Rollen_Pall)

                                .AddWithValue("@Gewicht_m_", i.Gewicht_m_)

                                .AddWithValue("@Bemerkungen_zum_Auftrag", i.Bemerkungen_zum_Auftrag)

                                .AddWithValue("@Rohstoffe_verfuegbar", i.Rohstoffe_verfügbar)

                                .AddWithValue("@gefertigt", i.gefertigt)

                                .AddWithValue("@technische_Voraussetzung", i.technische_Voraussetzung)

                                .AddWithValue("@Auftrag_teilgefertigt", i.Auftrag_teilgefertigt)

                                .AddWithValue("@Auftrag_fertig", i.Auftrag_fertig)

                                .AddWithValue("@Auftrag_storniert", i.Auftrag_storniert)

                                .AddWithValue("@Auftrag_ausgeliefert", i.Auftrag_ausgeliefert)

                                .AddWithValue("@Auftrag_fuer_Veredelung", i.Auftrag_für_Veredelung)

                                .AddWithValue("@fertig_fuer_Veredelung", i.fertig_für_Veredelung)

                                .AddWithValue("@Prioritaet", i.Priorität)

                                .AddWithValue("@Bearb", i.Bearb)

                                .AddWithValue("@Lagerplatz", i.Lagerplatz)

                                .AddWithValue("@Freigabe", i.Freigabe)

                                .AddWithValue("@Versandl", i.Versandl)

                                .AddWithValue("@Nur_Veredelung", i.Nur_Veredelung)

                                .AddWithValue("@AuftragMemo", i.AuftragMemo)

                                .AddWithValue("@Mandant", i.Mandant)

                                .AddWithValue("@Mandantenbezeichnung", i.Mandantenbezeichnung)

                                .AddWithValue("@BelPosID", i.BelPosID)

                                .AddWithValue("@Preiseinheit", i.Preiseinheit)

                                .AddWithValue("@sync", i.sync)

                                .AddWithValue("@sync_u", "O")

                            End With

                        End With


                        conntransfer.ExecuteCommand(sqlc)

Bei der Ausführung kommt es zu folgendem Fehler:

"Parameter fehlt. [Parameter ordinal = 1]"

Es scheint als wär ein Parameter zu wenig, dabei hab ich alles mehrmals durchgezählt, es kann allerdings auch sein, dass ich den Wald vor lauter Bäumen nicht sehe:p, vllt kann von euch jmd etwas erkennen.

Bin für jede Hilfe dankbar.:bimei

Geschrieben

Moin,

ich kann Dir nur empfehlen die Enterprise Library von Microsoft für Datenbankzugriffe verwenden. Ich habe das schon öfter in diesem Forum erwähnt. Schau mal den Artikel für Dein Problem an. Evtl kann Dir das ja schon für Dein Problem helfen.

Ich schreibe schon seit längerem ein Entlib Tutorial - hatte aber in letzter Zeit keine Zeit das fortzusetzen ... in der nächsten Woche sollte allerding für Datenbank zugriffe ein Tutorial hier entstehn.

Geschrieben (bearbeitet)
Moin,

ich kann Dir nur empfehlen die Enterprise Library von Microsoft für Datenbankzugriffe verwenden.

Ich würde Dir einen O/R Mapper empfehlen. :roll: Der Zugriff sollte dann komfortabler sein.

Ansonsten findest Du hier vielleicht die Lösung:

VB.net Daten EInfügen in SQL CE

Der dritte Beitrag zeigt ein wenig Code.

Normalerweise müssen die Parameter vorher definiert werden:

SqlParameter, SqlCeParameter etc.

Funktioniert denn das InsertCommand, wenn Du die Werte anstelle der Parameter schreibst?

Bearbeitet von lbm1305
Geschrieben
Ich würde Dir einen O/R Mapper empfehlen. :roll: Der Zugriff sollte dann komfortabler sein.

Dem kann ich mich nur anschließen, diesem Kraut und Rüben aus irgendwelchen Strings wird damit effektiv ein Riegel vorgeschoben.

Weitere Vorteile eines O/R-Mappers:

- der Code wird besser lesbarer

- der Code wird testbar (z.b. durch einen gemockten Context im EntityFramework)

- der Code wird wartbarer

- uvm.

Bekannte Vertreter für .Net sind: NHibernate, ActiveRecord, Linq2SQL, EntityFramework

Geschrieben

Hi,

also den O/R Mapper verwende ich schon länge und weiß ihn durchaus zus chätzen, nur gab es hierbei Probleme, die etwas seltsam waren.

Naja, ich konnte das ganze jetzt mit einer Combolösung beheben, jedenfalls funktioniert das ganze Prozedere jetzt wie es soll.

Den entscheidenen Anschubser hat mir lbm1305 mit dem Link gegeben.

Danke euch allen drei

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...