AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Sql Selcet fehler aber wo ?
Thema durchsuchen
Ansicht
Themen-Optionen

Sql Selcet fehler aber wo ?

Ein Thema von Zephit · begonnen am 11. Jun 2004 · letzter Beitrag vom 11. Jun 2004
Antwort Antwort
Zephit

Registriert seit: 12. Mai 2004
17 Beiträge
 
#1

Sql Selcet fehler aber wo ?

  Alt 11. Jun 2004, 08:56
Hallo


Loginquery.SQL.Clear;
loginquery.SQL.Text:='Select ID FROM USER_TABELLE WHERE USERNAME='+ ed_username.Text +' AND PASSWORT='+ ed_Passwort.Text +'';
Loginquery.Open;

wenn ich das ausführe kommt 2 parameter wurden erwarte aber zuwenig übergeben.

Was ist Falsch


MFG...
  Mit Zitat antworten Zitat
Alfons_G

Registriert seit: 7. Jun 2002
Ort: München
296 Beiträge
 
Delphi 2007 Architect
 
#2

Re: Sql Selcet fehler aber wo ?

  Alt 11. Jun 2004, 09:12
SQL erwartet Strings in einfachen Anführungszeichen - genauso wie Delphi. Du solltest es also so machen:
Delphi-Quellcode:
Loginquery.SQL.Clear;
loginquery.SQL.Text:='Select ID FROM USER_TABELLE WHERE USERNAME='+ QuotedStr(ed_username.Text) +' AND PASSWORT='+ QuotedStr(ed_Passwort.Text) +'';
Loginquery.Open;
Dein SQL-String wird dann so übergeben:Select ID FROM USER_TABELLE WHERE USERNAME='UserAND PASSWORT='Password' Dann sollte es klappen.
Du kannst zwar auch Anführungzeichen manuell zufügen, aber Vorsicht: Wenn der Anwender in eines der Felder ein einfaches Anführungszeichen eingibt, bekommst Du dann einen SQL-Fehler, bzw. unter Umständen ist sogar die berüchtigte "SQL-Injection" möglich, d.h. die manuelle Eingabe von manipuliertem SQL-Code. Mit der Funktion QuotedStr werden dagegen alle in der Eingabe vorhandenen Anführungszeichen durch Verdoppelung entschärft.

Alfons Grünewald



Alfons Grünewald
  Mit Zitat antworten Zitat
Zephit

Registriert seit: 12. Mai 2004
17 Beiträge
 
#3

Re: Sql Selcet fehler aber wo ?

  Alt 11. Jun 2004, 09:20
Ohh danke das scheint zu funktionieren doch jetze kommt eine andere Fehlermeldung!

Das Feld USERNAME wurde nicht gefunden! Allerdings wenn ich nur selcet *from USER_TABELLE mache funtkioniert es einwandfrei und die schreibweise von Username ist korrekt!
  Mit Zitat antworten Zitat
Zephit

Registriert seit: 12. Mai 2004
17 Beiträge
 
#4

Re: Sql Selcet fehler aber wo ?

  Alt 11. Jun 2004, 09:26
Habe gerade selbst gebastelt und wenn ich
ID durch * ersetze funktioniert es aber warum ?

loginquery.SQL.Text:='Select * FROM USER_TABELLE WHERE USERNAME='+ QuotedStr(ed_username.Text) +' AND PASSWORT='+ QuotedStr
(ed_Passwort.Text) +'';
  Mit Zitat antworten Zitat
Benutzerbild von r_kerber
r_kerber

Registriert seit: 11. Feb 2003
Ort: Trittau
3.538 Beiträge
 
Delphi XE Professional
 
#5

Re: Sql Selcet fehler aber wo ?

  Alt 11. Jun 2004, 09:32
Das ist merkwürdig. Welche DB verwendest Du?
  Mit Zitat antworten Zitat
Zephit

Registriert seit: 12. Mai 2004
17 Beiträge
 
#6

Re: Sql Selcet fehler aber wo ?

  Alt 11. Jun 2004, 09:48
Acsess und id ist mein Primärschlüssel !!
  Mit Zitat antworten Zitat
Benutzerbild von r_kerber
r_kerber

Registriert seit: 11. Feb 2003
Ort: Trittau
3.538 Beiträge
 
Delphi XE Professional
 
#7

Re: Sql Selcet fehler aber wo ?

  Alt 11. Jun 2004, 09:54
Das sollte eigentlich gehen. Versuche doch mal folgendes. Schreibe doch mal vor ID den Tabellennamen (mit Punkt getrennt) und setze auch mal "spaßeshalber" beide Teile (vor und nach dem Punkt) jeweils in "". Access hat bekannterweise ein paar Macken bei SQL-Befehlen.
  Mit Zitat antworten Zitat
Eisenherz

Registriert seit: 10. Jun 2002
Ort: Stadeln
33 Beiträge
 
Delphi 5 Professional
 
#8

Re: Sql Selcet fehler aber wo ?

  Alt 11. Jun 2004, 10:07
Man sollte nach Möglichkeit nie Namen für Spalten wählen, die für SQL Schlüsselwörter sind. USERNAME dürfte ein solches Schlüsselwort sein. Ich hatte einmal ein ähnliches Problem, weil ich einer Spalte den Namen "TEXT" gegeben habe.
aloa Eisenherz
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:50 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz