AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi SQL Server und Zeiteingabe
Thema durchsuchen
Ansicht
Themen-Optionen

SQL Server und Zeiteingabe

Ein Thema von renekr · begonnen am 23. Sep 2005 · letzter Beitrag vom 24. Sep 2005
Antwort Antwort
Seite 1 von 2  1 2      
renekr

Registriert seit: 27. Feb 2005
Ort: Karlsbad
534 Beiträge
 
Delphi 2007 Enterprise
 
#1

SQL Server und Zeiteingabe

  Alt 23. Sep 2005, 17:49
Datenbank: SQL 2005 • Version: Beta • Zugriff über: ADO
Hi,
kann mir jemand sagen ob ich im SQL Server ein Time Feld machen kann?,
Also das in der Tabelle nur der Zeit wert drin steht? ohne datum?

Danke.
  Mit Zitat antworten Zitat
Benutzerbild von Sharky
Sharky

Registriert seit: 29. Mai 2002
Ort: Frankfurt
8.252 Beiträge
 
Delphi 2006 Professional
 
#2

Re: SQL Server und Zeiteingabe

  Alt 23. Sep 2005, 17:55
Hai renekr,

ich glaube der MS-SQL kennt kein reines Zeitfeld. In der Regel ist dies aber auch nicht schlimm. Du kannst ja deine Zeiten in einem DateTime-Feld speichern aber bei Abfragen nur den Zeitanteil berücksichtigen.
Stephan B.
"Lasst den Gänsen ihre Füßchen"
  Mit Zitat antworten Zitat
renekr

Registriert seit: 27. Feb 2005
Ort: Karlsbad
534 Beiträge
 
Delphi 2007 Enterprise
 
#3

Re: SQL Server und Zeiteingabe

  Alt 23. Sep 2005, 18:02
Hi,
ja klar,aber ich will den Tabellen Inhalt in einem Grid anzeigen und da soll nur daer Time Wert angezeigt werden.
Speicehrn tu i nur de Time wert, also steht 30.12.1899 davor. das macht mir nix aus , wenn das mit dem DBGrid gehn würde?
Kann man das DATETIME Feld beim anzeigen im Grid als Time handln?

Danke.
  Mit Zitat antworten Zitat
Benutzerbild von Jelly
Jelly

Registriert seit: 11. Apr 2003
Ort: Moestroff (Luxemburg)
3.741 Beiträge
 
Delphi 2007 Professional
 
#4

Re: SQL Server und Zeiteingabe

  Alt 23. Sep 2005, 18:20
Du kannst im FieldEditor des Dataset beim entsrpechenden Feld das displayformat auf hh:nn:ss setzen.
  Mit Zitat antworten Zitat
renekr

Registriert seit: 27. Feb 2005
Ort: Karlsbad
534 Beiträge
 
Delphi 2007 Enterprise
 
#5

Re: SQL Server und Zeiteingabe

  Alt 23. Sep 2005, 18:40
Hi,
Danke.
Wo genau mach i das ?Direkt im ADOQuery? unter Parameter?

Ich kann ja ev auch direkt im SQL String das DATE_Format oder Convert anwednen.

SQL String ist ein normaler Select * from das ich alles zurückbekomme.


Danke.
  Mit Zitat antworten Zitat
Benutzerbild von Sharky
Sharky

Registriert seit: 29. Mai 2002
Ort: Frankfurt
8.252 Beiträge
 
Delphi 2006 Professional
 
#6

Re: SQL Server und Zeiteingabe

  Alt 23. Sep 2005, 18:53
Hai renekr,

es gibt zwei Wege. Beim ersten machst Du das im ObjektInspector für die Felder des Query
  1. ADOQuery auf active setzen (unter SQL muss z.B. SELECT * FROM tabelle stehen).
  2. Einen doppelklick auf die ADOQuery Komponente
  3. Rechter Mausklick auf das Fenster
  4. Alle Felder hinzufügen wählen
  5. Das Feld mit dem Datum auswählen
  6. Im OI unter Dislplayformat das gewünschte einstellen (hh:mm)

oder einfacher ;
Delphi-Quellcode:
procedure TForm1.ADOQuery1AfterOpen(DataSet: TDataSet);
begin
  (DataSet.FieldByName('zeit') as TDateTimeField).DisplayFormat := 'hh:mm:ss';
end;
Die erste Methode hat einen großen Nachteil. Wenn Du später ein Feld in deiner Tabelle hinzufügst würde dieses nicht mehr im Query verfügbar sein da dieses nur noch die Felder berücksichtig welche im FeldEditor eingetragen sind.
Stephan B.
"Lasst den Gänsen ihre Füßchen"
  Mit Zitat antworten Zitat
renekr

Registriert seit: 27. Feb 2005
Ort: Karlsbad
534 Beiträge
 
Delphi 2007 Enterprise
 
#7

Re: SQL Server und Zeiteingabe

  Alt 23. Sep 2005, 19:14
WOW,
Ihr seit echt die Größten.
Bis jetzt wurde jedes Problem von mir wirklich sehr schnell und mit viel Anganement gelöst.
Respekt für das Forum.
Einsame Spitze.


Ich habe es auch hinbekommen,aber viel Umständlicher.

Select * from Tabelle;
mit
select convert(varchar,uhrzeit_ab,108)as Uhrzeit_ab),ID,name usw, from Tabelle;
ersetzt.

Aber werde die Funktion von Sharky einsetzen,die ist am einfachsten und man muß bei ändrungen in der Tabelle nicht den Source anpassen.

Wirklich großes Lob an euch.

Danke.
  Mit Zitat antworten Zitat
Benutzerbild von Sharky
Sharky

Registriert seit: 29. Mai 2002
Ort: Frankfurt
8.252 Beiträge
 
Delphi 2006 Professional
 
#8

Re: SQL Server und Zeiteingabe

  Alt 23. Sep 2005, 19:20
Zitat von renekr:
... Respekt für das Forum. ...
Wir, und damit meine ich alle Mitglieder der DP, geben uns mühe

Noch einen kleinen Tipp:
Wenn Du für die Anzeige die sekunden nicht brauchst solltest Du anstelle von:
(DataSet.FieldByName('zeit') as TDateTimeField).DisplayFormat := 'hh:mm:ss'; diesen Code nehmen:
(DataSet.FieldByName('zeit') as TDateTimeField).DisplayFormat := ShortTimeFormat; Dann ist die Zeitanzeige so wie sie vom Anwender in der Systemsteuerung des OS eingestellt wurde.
Stephan B.
"Lasst den Gänsen ihre Füßchen"
  Mit Zitat antworten Zitat
omata

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

Re: SQL Server und Zeiteingabe

  Alt 23. Sep 2005, 22:38
Sowas geht auch direkt in einer SQL-Anweisung.

Gibt das Datum aus...
SELECT CONVERT(VARCHAR, datum, 104) Gibt die Uhrzeit aus...
SELECT CONVERT(VARCHAR, datum, 108) MfG
Thorsten
  Mit Zitat antworten Zitat
Benutzerbild von Sharky
Sharky

Registriert seit: 29. Mai 2002
Ort: Frankfurt
8.252 Beiträge
 
Delphi 2006 Professional
 
#10

Re: SQL Server und Zeiteingabe

  Alt 24. Sep 2005, 07:58
Zitat von omata:
Sowas geht auch direkt in einer SQL-Anweisung.
Hai omata,

bei dieser Methode wird aber das Datums/Zeitformat im SQL-Code vorgegeben. Es wird also unabhängig von den Einstellungen der Regionsoptionen des Benutzers angzeigt. Dies finde ich persönlich nicht so gut. Ein Programm sollte Datums/Zeitwerte immer so anzeigen wie ich es an meinem Computer eingestellt habe.
Stephan B.
"Lasst den Gänsen ihre Füßchen"
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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:02 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