Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

[VB.NET] Fehler bei Insert

Empfohlene Antworten

Veröffentlicht

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

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.

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

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

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

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.