vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Zippen wie die Profis!  
 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

VB & Datenbanken
Programmierungshilfe 
Autor: Nika1978
Datum: 07.07.15 20:59

Hallo und guten Abend,

ich mache gerade einen Fernkurs zum SQL Datenbankentwickler und hänge jetzt an einer Stelle und komme einfach nicht auf die Lösung. Bevor ich mich an meinen Fernlehrer wende, dachte ich frage ich hier mal die Fachleute

Der Code lautet wie folgt:

Sub dgvFüllen()
Dim oReader As SqlDataReader
Try
dgvArtikel.Columns.Clear()
dgvArtikel.Rows.Clear()
dgvArtikel.Columns.Add("SpArtikelName", "Artikelname")
dgvArtikel.Columns.Add("SpLiefereinheit", "Liefereinheit")
dgvArtikel.Columns.Add("SpEinzelpreis", "Einzelpreis")
dgvArtikel.Columns.Add("SpBestellung", "Bestellung")
dgvArtikel.Columns(0).Width = 110
dgvArtikel.Columns(1).Width = 110
dgvArtikel.Columns(2).Width = 75
dgvArtikel.Columns(3).Width = 110
Verbindung()
oCmd.CommandText = "SELECT Lieferanten.LieferantenNr, Artikelname, Liefereinheit, Einzelpreis " & _
"IIF(Mindestbestand > Lagerbestand,Mindestbestand-Lagerbestand+25,'') AS Bestellung " & _
"FROM Lieferanten INNER JOIN Artikel ON Lieferanten.LieferantenNr = Artikel.LieferantenNr " & _
"WHERE ((Lieferanten.LieferantenNr)=" & Me.txtLieferantennr.Text & ")"
oReader = oCmd.ExecuteReader
Do While oReader.Read()
dgvArtikel.Rows.Add(oReader("Artikelname"), oReader("Liefereinheit"), FormatCurrency(oReader("Einzelpreis")), oReader("Bestellung"))
Loop
oReader.Close()
oCon.Close()
Dim mw As Double
mw = 0
For i = 0 To dgvArtikel.Rows.Count - 1
mw += (dgvArtikel.Rows(i).Cells(2).Value)
Next
mw /= dgvArtikel.Rows.Count
lblAusgabe.Text = "durchschnittlicher Preis: " & mw

Catch ex As Exception
MsgBox(Err.Description)
End Try
End Sub

Der Fehler muss irgendwo in dem IFF Teil liegen! Falsche Syntax in der Nähe von 'Mindestbestand'
Ich habe schon mehrfach alles kontrolliert anhand meines Arbeitsheftes aber soll so alles korrekt sein. Hat jemand eine Idee?
Vielen Dank schonmal!
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Programmierungshilfe 
Autor: Manfred X
Datum: 07.07.15 22:19

Hallo!

1. Du postest im falschen Forum. Der Beitrag gehört in ADO.Net/Datenbanken.

2. Verwende beim Posten von Code die entsprechenden Forum-Tags (Lesbarkeit).

3. Gewöhnlich benutzt man bei Abfragen durch ADO.Net z.B. die Klassen
TableAdapter, Dataset, SQLParameter und setzt DataBinding ein.
Was Du gerade lernst sind veraltete, unsichere Vorgehensweisen.

4. Gib bitte stets an, wie die im Code verwendeten Variablen deklariert bzw.
initialisiert worden sind (z.B. dgv, oCmd, lblAusgabe) und ggf. den SQL-Dialekt
und den Typ von abgefragten Tabellenspalten.

5. Soweit mir bekannt, erfordert das IIF-Statement in SQL-Abfragen
drei Parameter (Condition, TrueValue, FalseValue).
Vermutlich benötigt der dritte Parameter einen numerischen Wert.

6. Benutze Option Strict On und vermeide möglichst implizite Datentyp-Konvertierungen.
Die Count-Prüfung auf größer 0 fehlt - ehe nach der Abfrage numerische Ops durchgeführt
werden.

Beitrag wurde zuletzt am 07.07.15 um 22:46:01 editiert.
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