AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi SQL Statement will nicht

SQL Statement will nicht

Ein Thema von Avax2k · begonnen am 23. Jan 2006 · letzter Beitrag vom 23. Jan 2006
Antwort Antwort
Seite 1 von 2  1 2   
Avax2k

Registriert seit: 6. Okt 2005
186 Beiträge
 
Delphi 2005 Professional
 
#1

SQL Statement will nicht

  Alt 23. Jan 2006, 17:25
Datenbank: ACCESS • Version: 2003 • Zugriff über: ADO
allmählich bekomme ich ich das Gefühl, dass ich dringend eine Pause vom Programmieren braucht..ständig tauchen Fehler auf, die so lapidar sind und dennoch ich nicht darauf komme weshalb es nicht funktioniert

Delphi-Quellcode:
const SQL_COPY1
= 'INSERT INTO PROFIL(Datum)'
    +'SELECT *, %s FROM PROFIL'
    +'WHERE BenutzerID = 10';
...
ADODataSet.Close;
ADODataSet.CommandText := Format(SQL_COPY1, [DateToStr(Date)]);
ADODataSet.Open;
...
soweit man erkennen kann versucht ich in die Spalte 'Datum' and der Stelle an der 'Benutzer ID' den Wert 10 hat, das heutige Datum reinzuschreiben. Und plötzlich meldet mir Delphi, dass in der FROM Clausel ein Fehler ist..

Variante 2 ist so:
Delphi-Quellcode:
const SQL_COPY1
= 'INSERT INTO PROFIL(Datum)'
    +'SELECT *, %s FROM PROFIL'
    +'WHERE BenutzerID = :ID';
...
ADODataSet.Close;
ADODataSet.FieldValues['BenutzerID'] := Label1.Caption;
ADODataSet.CommandText := Format(SQL_COPY1, [DateToStr(Date)]);
ADODataSet.Open;
...
hier meldet Delphi, dass AdoDataSet kein Feld mit der Bezeichnung BenutzerID hat... das stimmt aber nicht denn es ist definitiv da und funktioniert auch in einer anderen Funktion tadellos... weiss nicht woran es liegt..

hoffe jemand kann mir da einen Tipp geben... und ich weiss dass es Kinderkram hier sit aber dennoch nervt es mich
  Mit Zitat antworten Zitat
Ferber

Registriert seit: 9. Mär 2005
Ort: Wien Umgebung
155 Beiträge
 
Delphi 2006 Architect
 
#2

Re: SQL Statement will nicht

  Alt 23. Jan 2006, 17:31
Versuch mal den String ohne + (also in eine Zeile) zu schreiben.
Sieht so aus als würden Leerzeichen fehlen.
Otto
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.859 Beiträge
 
Delphi 11 Alexandria
 
#3

Re: SQL Statement will nicht

  Alt 23. Jan 2006, 17:32
Du nennst den Paramter ID und versuchst einen parameter BenutzerID zu fülle,
Delphi-Quellcode:
const SQL_COPY1
= 'INSERT INTO PROFIL(Datum)'
    +'SELECT *, %s FROM PROFIL'
    +'WHERE BenutzerID = :ID';
...
ADODataSet.Close;
ADODataSet.FieldValues['BenutzerID'] := Label1.Caption;
ADODataSet.CommandText := Format(SQL_COPY1, [DateToStr(Date)]);
ADODataSet.Open;
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von Kedariodakon
Kedariodakon

Registriert seit: 10. Sep 2004
Ort: Mönchengladbach
833 Beiträge
 
Delphi 7 Enterprise
 
#4

Re: SQL Statement will nicht

  Alt 23. Jan 2006, 17:53
Zitat von Avax2k:
...
Variante 2 ist so:
Delphi-Quellcode:
const SQL_COPY1
= 'INSERT INTO PROFIL(Datum)'
    +'SELECT *, %s FROM PROFIL'
    +'WHERE BenutzerID = :ID';
...
ADODataSet.Close;
ADODataSet.FieldValues['BenutzerID'] := Label1.Caption;
ADODataSet.CommandText := Format(SQL_COPY1, [DateToStr(Date)]);
ADODataSet.Open;
...
hier meldet Delphi, dass AdoDataSet kein Feld mit der Bezeichnung BenutzerID hat... das stimmt aber nicht denn es ist definitiv da und funktioniert auch in einer anderen Funktion tadellos... weiss nicht woran es liegt..
benutze
Delphi-Quellcode:
// ...
ADODataSet.FieldByName( 'BenutzerID' ) := Label1.Caption;
// ...
Oder Füge das Feld 'BenutzerID' in die Fieldliste vom ADODataSet.

Bye Christian
Christian
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#5

Re: SQL Statement will nicht

  Alt 23. Jan 2006, 17:53
Oder vielleicht so?

UPDATE profil SET datum = getdate() WHERE benutzerid = 10 Grüße vom marabu
  Mit Zitat antworten Zitat
Avax2k

Registriert seit: 6. Okt 2005
186 Beiträge
 
Delphi 2005 Professional
 
#6

Re: SQL Statement will nicht

  Alt 23. Jan 2006, 18:19
habe alle Varianten ausprobiert..es geht immer noch GAR NICHTS..

die Funktion GETDATE() kennt er nicht und wenn ich da eine Zahl reinschreibe geht es auch nicht
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#7

Re: SQL Statement will nicht

  Alt 23. Jan 2006, 18:28
Habe kein Access - probiere mal Date() statt GetDate().

Hast du kein Handbuch zu Jet SQL?

marabu
  Mit Zitat antworten Zitat
omata

Registriert seit: 26. Aug 2004
Ort: Nebel auf Amrum
3.154 Beiträge
 
Delphi 7 Enterprise
 
#8

Re: SQL Statement will nicht

  Alt 23. Jan 2006, 18:58
Eventuell must du auch Datum() nehmen, bei einer deutschen Accessversion (Access ist leider so krank)

MfG
Thorsten
  Mit Zitat antworten Zitat
Avax2k

Registriert seit: 6. Okt 2005
186 Beiträge
 
Delphi 2005 Professional
 
#9

Re: SQL Statement will nicht

  Alt 23. Jan 2006, 19:01
wenn ich DATE() eingebe kommt..

der Folgende Fehler:

"Data type mismatch in criteria expression"
  Mit Zitat antworten Zitat
Benutzerbild von thkerkmann
thkerkmann

Registriert seit: 7. Jan 2006
Ort: Pulheim Brauweiler
464 Beiträge
 
Delphi 2010 Professional
 
#10

Re: SQL Statement will nicht

  Alt 23. Jan 2006, 19:28
Hi,
welchen Datentyp hat denn dein Feld DATUM ????

Zitat von Avax2k:
wenn ich DATE() eingebe kommt..

der Folgende Fehler:

"Data type mismatch in criteria expression"
ist es überhaupt ein DateTime Feld ?

Gruss Thomas
Thomas Kerkmann
Ich hab noch einen Koffer in Borland.
http://thomaskerkmann.wordpress.com/
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2   

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 23:22 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