vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Schützen Sie Ihre Software vor Software-Piraterie - mit sevLock 1.0 DLL!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2024
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

ADO.NET / Datenbanken
Fehlermeldung beim abspeichern in der dbo.Tabelle rechnung 
Autor: Horst1945
Datum: 18.12.14 10:27

Hallo ich habe da ein kleines Problem.

Die Insert-Klause (15) und die Values-Klause (15) stimme überein.

strSQL = "Insert into Rechnung (jahr, kdnr, renr, lfNr, artnr, bestnr," & _
  "liefdatum, redatum, menge, epreis, rabatt, rbsum, brutto, mwst, netto)";
                    strSQL += " values( " + myNJahr + ", '" + txtKdNr.Text + _
                    "', '" + txtReNr.Text + "', '" + txtLfNr.Text + "',";
                    strSQL += " '" + txtArtNr.Text + "', '" + txtBestNr.Text + _
                    "', '" + txtLfDatum.Text + "', '" + lblReDatum.Text + "', " _
                    + myMenge + ", " + myEPreis + ", ";
                    strSQL += " '" + txtRabatt.Text + "', " + myProzent + ", " _
                    + myGesSum + ",  " + myMwSt + ", " + myEndPreis + ")";
Trotzdem bekomme ich die Fehlermeldung:

In der INSERT-Anweisung sind weniger Spalten angegeben als Werte in der VALUES-Klausel. Die Anzahl von Werten in der VALUES-Klausel und die Anzahl von in der INSERT-Anweisung angegebenen Spalten müssen übereinstimmen.

Horst
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Fehlermeldung beim abspeichern in der dbo.Tabelle rechnung 
Autor: Manfred X
Datum: 19.12.14 10:22

Hallo!

Es kommt in dem Fall nicht auf den Code an, der den String erstellt,
sondern auf den daraus resultierenden Inhalt des Command-Strings
( = Inhalt der diversen Text-Eigenschaften, incl. Formatierung).

Übrigens verwendet man in solchen Fällen zum Aufbau der SQL-Kommandos
besser die dafür vorgesehenen ADO.Net-Klassen.







Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Fehlermeldung beim abspeichern in der dbo.Tabelle rechnung 
Autor: Horst1945
Datum: 19.12.14 15:42

Hallo Manfred,

ich habe es mal in einzelschritte versucht die Daten in der Datenbank zu abzuspeichern,

dbo.Recnung


[Jahr] int
[KdNr] nchar(10)
[ReNr] nchar(10)
[LfNr] nchar(10)
[ArtNr] nchar(10)
[BestNr] nchar(10)
[LiefDatum] nchar(10)
,[ReDatum] nchar(10)
,[Menge] int
,[EPreis] decimal(10, 2)
,[Rabatt] nchar(10)
,[RBSum] decimal(10, 2)
,[Brutto] decimal(10, 2)
,[MwSt] decimal(10, 2)
,[Netto] decimal(10, 2)

Bis zum Feld-Name "Menge" wurden die Daten gespeichert. Aber wenn ich EPreis hinzufüge, kommt die
Fehlermeldung:

In der INSERT-Anweisung sind weniger Spalten angegeben als Werte in der VALUES-Klausel. Die Anzahl von Werten in der VALUES-Klausel und die Anzahl von in der INSERT-Anweisung angegebenen Spalten müssen übereinstimmen.

Beitrag wurde zuletzt am 19.12.14 um 15:44:28 editiert.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Fehlermeldung beim abspeichern in der dbo.Tabelle rechnung 
Autor: Manfred X
Datum: 19.12.14 17:52

Vielleicht steht bei Decimals im SQL-String ein Dezimalkomma statt
dem Dezimalpunkt...
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Fehlermeldung beim abspeichern in der dbo.Tabelle rechnung 
Autor: Horst1945
Datum: 19.12.14 18:20

Wenn ich statt ein Komma 10.30 schreiben dann kommet ein wert vom 10300 heraus
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Fehlermeldung beim abspeichern in der dbo.Tabelle rechnung 
Autor: Manfred X
Datum: 19.12.14 18:44

Eventuell Werte in Hochkommas setzen und geeignet casten

Oder doch ADO.Net-Klassen verwenden ...
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Fehlermeldung beim abspeichern in der dbo.Tabelle rechnung 
Autor: Horst1945
Datum: 20.12.14 07:58

So ich habe es einmal mit Parameters versucht:

SqlCommand mySqlCommand = mySqlConnection.CreateCommand();
                    mySqlCommand.CommandText = "insert imto rechnung (jahr," & _
                      "kdnr) values (@jahr, @Kdnr)";
                    mySqlCommand.Parameters.Add("@jahr", SqlDbType.Int);
                    mySqlCommand.Parameters.Add("@Kdnr", SqlDbType.NChar, 10);
 
                    mySqlCommand.Parameters["@jahr"].Value = myNJahr;
                    mySqlCommand.Parameters["@Kdnr"].Value = txtKdNr.Text;
und erscheint die Fehlermeldung : "Falsche Syntax in nähe von 'rechnung'"

Beitrag wurde zuletzt am 20.12.14 um 08:00:49 editiert.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Fehlermeldung beim abspeichern in der dbo.Tabelle rechnung 
Autor: Manfred X
Datum: 20.12.14 08:50

"imto" ist mir im Zusammenhang mit SQL bislang unbekannt
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2024 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel