AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Datentyp einer Variablen ermitteln
Thema durchsuchen
Ansicht
Themen-Optionen

Datentyp einer Variablen ermitteln

Ein Thema von steppo · begonnen am 11. Dez 2007 · letzter Beitrag vom 10. Jan 2008
Antwort Antwort
Seite 2 von 2     12   
generic

Registriert seit: 24. Mär 2004
Ort: bei Hannover
2.416 Beiträge
 
Delphi XE5 Professional
 
#11

Re: Datentyp einer Variablen ermitteln

  Alt 12. Dez 2007, 10:12
Zitat von alzaimar:
Kleiner Nachtrag zum Beitrag von OldMax: Das dauert so bei sehr großen Tabellen ewig, weil unnötigerweise die Daten mit geladen werden.

Um die Feldnamen, -typen und -längen zu erhalten, reicht es, ein 'SELECT * From [Table] WHERE 1=0' zum DBMS zu schicken.
bei dem MSSQL geht das noch einfacher ohne where

SQL-Code:
set FMTONLY on
select * from <Table>
Coding BOTT - Video Tutorials rund um das Programmieren - https://www.youtube.com/@codingbott
  Mit Zitat antworten Zitat
Benutzerbild von RWarnecke
RWarnecke

Registriert seit: 31. Dez 2004
Ort: Stuttgart
4.408 Beiträge
 
Delphi XE8 Enterprise
 
#12

Re: Datentyp einer Variablen ermitteln

  Alt 12. Dez 2007, 13:14
Zitat von oldmax:
Hi
Zitat:
Wäre hier nicht eine Case-Anweisung vorteilhafter ?
selbstverfreilich.... wenn die ft.. -Konstanten Integer sind, was ich aber jetzt so ohne meine Programmiermaschine nich weiß
Gruß oldmax
Die ft..-Konstanten sind Integer-Werte.
Rolf Warnecke
App4Mission
  Mit Zitat antworten Zitat
steppo

Registriert seit: 31. Dez 2002
235 Beiträge
 
Delphi 10 Seattle Enterprise
 
#13

Re: Datentyp einer Variablen ermitteln

  Alt 10. Jan 2008, 17:27
Recht herzlichen Dank an alle.

gruß steppo
Wir sind heute die, vor denen uns unsere Eltern immer gewarnt haben!
  Mit Zitat antworten Zitat
Muetze1
(Gast)

n/a Beiträge
 
#14

Re: Datentyp einer Variablen ermitteln

  Alt 10. Jan 2008, 19:44
Zitat von RWarnecke:
Zitat von oldmax:
Hi
Zitat:
Wäre hier nicht eine Case-Anweisung vorteilhafter ?
selbstverfreilich.... wenn die ft.. -Konstanten Integer sind, was ich aber jetzt so ohne meine Programmiermaschine nich weiß
Gruß oldmax
Die ft..-Konstanten sind Integer-Werte.
Eher eine Aufzählung, also eine Enumeration, und die wird immer als Ordinaltyp umgesetzt und ist somit immer mit einer Case Verzweigung nutzbar. Ob die Enumeration aber eine Größe von 4 Bytes (also Integer) hat, liegt an den Compilerparametern. {$Z4} bzw. {$Z+} würde das entsprechend regeln.

Hinweis: Wenn euer Quellcode vom C++ und Delphi benutzt wird, dann wird die Einstellung in den Projektoptionen im C++ Projekt für den Pascal Compiler im BDS2006 für alle nicht direkt eingebundenen Pascal Quellen ignoriert! Dies ist ein Bug, ihr solltet somit mit solchen direkten Compiler Optionen im Quelltext arbeiten, damit das stimmt.

Wir sind damit deftigst auf dir Schnauze gefallen, da die Pascalquellen trotz der Einstellung im Projekt (und allen Libs, etc) eine Größe von 1 Bytes hatten während der C++ Compiler überall Code für 4 Bytes generierte. Da kam schöner Speicherschrott raus, bzw. die Instanzen waren schneller intern zerschossen als man denken konnte. Nur einer von vielen noch vielen Bugs im Zusammenspiel Delphi <-> C++.

Der Bug wurde noch nicht in der Quality Central eingetragen. Der liegt noch - neben einigen anderen Bugs - auf der ToDo Liste und ich werde ihn noch melden!
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


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 08:32 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