| 

.NET C# Java Javascript Exception

2
Hallo wie kann man mit Variablen Filtern im SQL Select...

WHERE SKDN in (2) die feste (2) sollte durch den txtKDN.text ersetzt werden...
wie kann ich das bewerkstelligen!

Code:
adapterStundenzettel = New OleDb.OleDbDataAdapter("SELECT [SKDN] & ' - ' & [SLeistungsdatum] & ' - ' & [SLeistungsdatumEnd] & ' - ' & [SVon] & ' - ' & [SBis] & ' - ' & [SAuftrag] & ' - ' & [SLeistung] & ' - ' & [Stunden] AS Stundenzettel FROM tabStundenzettel WHERE SKDN in (2) ORDER by SKDN", objConnection) ' WHERE SKDN in (2) ORDER by SKDN txtKDN.text !!!!

Gruss
Thomas Meier
10.07.2018
tsmeier 51 1 3
2 Antworten
0
Also so sollte es gehen...

CODE:

adapterStundenzettel = New OleDb.OleDbDataAdapter("SELECT [SKDN] & ' - ' & [SLeistungsdatum] & ' - ' & [SLeistungsdatumEnd] & ' - ' & [SVon] & ' - ' & [SBis] & ' - ' & [SAuftrag] & ' - ' & [SLeistung] & ' - ' & [Stunden] AS Stundenzettel FROM tabStundenzettel WHERE SKDN LIKE '" & txtKNR.Text & "%' ORDER by SKDN", objConnection) ' WHERE SKDN in (2) ORDER by SKDN txtKDN.text !!!!

Gruss
Thomas Meier
10.07.2018
tsmeier 51 1 3
0
Ihr Statement sollte zwar funktionieren, trotzdem möchte ich noch eine Anmerkung machen.
Sie verwenden den Inhalt eines Datenfeldes ohne irgendeine Prüfung in Ihrem Statement und das auch noch mit LIKE! Damit können Sie sich je nach Inhalt große Probleme einhandeln.
Aus unserer Erfahrung ist es besser, Anweisungen, die Parameter benötigen in gespeicherten Prozeduren oder Funktionen des Datenbanksystems zu kapseln. Beim SQL-Server eignen sich z.B. Tabellenwertfunktionen besonders für diese Aufgabe.
Der Vorteil ist, dass die Datentypen vom System kontrolliert werden.
Alternativ sollten Sie immer (für den Nutzer unsichtbare) interne IDs (typischerweise Ganzzahlen) für Auswertungen in der WHERE-Klausel verwenden.
10.07.2018
edvservice 1,4k 1 6

Stelle deine Sql-Frage jetzt!