AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi wie kann ich rausbekommen ob eine variable string,integer,bo
Thema durchsuchen
Ansicht
Themen-Optionen

wie kann ich rausbekommen ob eine variable string,integer,bo

Ein Thema von clock50 · begonnen am 14. Nov 2008 · letzter Beitrag vom 15. Nov 2008
Antwort Antwort
clock50

Registriert seit: 9. Nov 2005
Ort: Derenburg
183 Beiträge
 
Delphi 5 Professional
 
#1

wie kann ich rausbekommen ob eine variable string,integer,bo

  Alt 14. Nov 2008, 12:10
Datenbank: mysql • Zugriff über: zeos
Hallo Leute,

wenn ich was schreibe, habe ich ein Problem:

also ich habe bei einen neuen projekt ein problem mit der zeit. ich habe mit einer mysql db eine datenerfassung und auswertung realisiert soweit ok allerdings benötigt die auswertung zu viel zeit. deshalb habe ich mir gedacht ich könnte ja eine db im speicher anlegen (als record) auch ok, so nun habe ich in meinem record 'db' die tabellen (arrayrecords t1,t2,t3,...) die tabellen haben nun unterschiedliche felder (integer,string,...) nun will ich eine procedur schreiben die mir die daten in die tabellen einfügt. so wie ich es kenne müsste ich für jede tabelle eine eigene procedur haben. ist ja auch kein problem an sich, nur bringt es mich zu der frage :kann ich nicht eine procedur in der ich den typ des feldes in der tabelle abfragen kann? dann könnte meine procedur etwa so beginnen : procedure einfuegen(t : string, f : array[0..20] of string); t = name der tabelle f = daten, so übergebe ich alle werte als string die ich einfügen will. die werte müsste ich jetzt wenn nötig umwandel. also wie kann ich rausbekommen ob eine variable string,integer,boolean oder float ist?
Thomas
Man muß nicht alles wissen, man muß nur wissen in welchem Buch es geschrieben steht!
  Mit Zitat antworten Zitat
Benutzerbild von jfheins
jfheins

Registriert seit: 10. Jun 2004
Ort: Garching (TUM)
4.579 Beiträge
 
#2

Re: wie kann ich rausbekommen ob eine variable string,intege

  Alt 14. Nov 2008, 12:14
Also ich will ja nicht wissen, wievile Millionen Datensätze in deiner DB sind, dass sie langsam wird ...

Aber zu deiner Funktion: Da würde sich der Datentyp Variant anbieten, der kann sozusagen einen beliebigen Wert Typensicher beinahlten
  Mit Zitat antworten Zitat
fnhofm

Registriert seit: 16. Mär 2006
Ort: Nürnberg
25 Beiträge
 
Delphi XE2 Professional
 
#3

Re: wie kann ich rausbekommen ob eine variable string,intege

  Alt 14. Nov 2008, 12:36
Hallo,

Du könntest in der Prozedur einfügen auch ein array of cont (TVarRec)verwenden.
Dann könntest Du den Typ für jeden übergebenen Wert abfragen.

Gruß
  Mit Zitat antworten Zitat
clock50

Registriert seit: 9. Nov 2005
Ort: Derenburg
183 Beiträge
 
Delphi 5 Professional
 
#4

Re: wie kann ich rausbekommen ob eine variable string,intege

  Alt 14. Nov 2008, 12:45
hallo und danke aber leider habe ich nur d5 und Varaint,cont geht noch nicht.
Thomas
Man muß nicht alles wissen, man muß nur wissen in welchem Buch es geschrieben steht!
  Mit Zitat antworten Zitat
Benutzerbild von littleDave
littleDave

Registriert seit: 27. Apr 2006
Ort: München
556 Beiträge
 
Delphi 7 Professional
 
#5

Re: wie kann ich rausbekommen ob eine variable string,intege

  Alt 14. Nov 2008, 12:47
Ich denke, dass sie Variant und array of const meinen
Jabber: littleDave@jabber.org
in case of 1 is 0 do external raise while in public class of object array else repeat until 1 is 0
  Mit Zitat antworten Zitat
fnhofm

Registriert seit: 16. Mär 2006
Ort: Nürnberg
25 Beiträge
 
Delphi XE2 Professional
 
#6

Re: wie kann ich rausbekommen ob eine variable string,intege

  Alt 14. Nov 2008, 12:49
Hoppla,

ja ich hab array of const gemeint.
  Mit Zitat antworten Zitat
nahpets
(Gast)

n/a Beiträge
 
#7

Re: wie kann ich rausbekommen ob eine variable string,intege

  Alt 14. Nov 2008, 12:54
Hallo,

mal etwas anders?

Delphi-Quellcode:
Var
  t : TTable;
begin
  // create und co
  t.FieldByName('ID').AsString := f[0];
  t.FieldByName('start').AsString := f[1];
...
  t.FieldByName('letztesfeld').AsString := f[20];
  t.Post;
Das funktioniert auch, wenn ID = Integer, sofern der String in f[0] einen Integer enthält, gilt analog auch für Float...
Bei boolschen Feldern sollte es auch funktionieren, sofern in f Wahr, Falsch, True oder False steht.
Variant ist in diesem Fall übrigens auch keine schlechte Idee.

Mit kbmMemTable kannst Du auf diese Weise im Arbeitsspeicher Tabellen vorhalten und wie "normale" Datenbanktabellen behandeln.
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#8

Re: wie kann ich rausbekommen ob eine variable string,intege

  Alt 14. Nov 2008, 13:28
Schau doch mal, ob es in Delphi 5 schon die Format-Funktion gibt.
Die macht im Prinzip das, was du möchtest. Das Ergebnis ist ein anderes, aber die Parameter-Übergabe und Auswertung ist gleich.
Dann kannst Du auch in den Sourcen nachsehen, was da bei Format passiert und deine Funktion analog dazu aufbauen.

cu

Oliver
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
neuling31

Registriert seit: 13. Nov 2008
12 Beiträge
 
#9

Re: wie kann ich rausbekommen ob eine variable string,intege

  Alt 15. Nov 2008, 15:41
Dein Thread-Titel ist ein bisschen verwirrend
Your Potential. Our Passion.™
  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 15:54 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