AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi D7 Tabellenfeld per Variable ansprechen
Thema durchsuchen
Ansicht
Themen-Optionen

D7 Tabellenfeld per Variable ansprechen

Ein Thema von beanbear6 · begonnen am 7. Dez 2015 · letzter Beitrag vom 20. Dez 2015
Antwort Antwort
Benutzerbild von baumina
baumina

Registriert seit: 5. Mai 2008
Ort: Oberschwaben
1.275 Beiträge
 
Delphi 11 Alexandria
 
#1

AW: D7 Tabellenfeld per Variable ansprechen

  Alt 7. Dez 2015, 08:58
Man könnte evtl. auch statt über den Namen über Fields[i] gehen.
Hinter dir gehts abwärts und vor dir steil bergauf ! (Wolfgang Ambros)
  Mit Zitat antworten Zitat
Perlsau
(Gast)

n/a Beiträge
 
#2

AW: D7 Tabellenfeld per Variable ansprechen

  Alt 7. Dez 2015, 09:54
Es gibt durchaus Fälle, in denen diese Durchnumerierung der Feldbezeichner bereits beim Entwurf des Datenbank-Designs Sinn macht. So speichere ich beispielsweise die Breite von Grid-Spalten in einer solchen Struktur. Das Setzen der Spaltenbreiten wie auch das Zurückschreiben in die DB kann ich dann ganz einfach in einer Schleife absolvieren:
Delphi-Quellcode:
Var
  i,z : Integer;
  Aus : String;
begin
  ...
  z := DbGrid_LogAccess.Columns.Count;
  If z > 0 Then
  For i := 0 To z-1 Do
  Begin
    Aus := 'LOG_' + GLD.Plus_String(IntToStr(i),GLD.N,2);
    DbGrid_LogAccess.Columns[i].Width := DatMod.Qset_BTab.FieldByName(Aus).AsInteger; // beim Einlesen aus der DB
    // DatMod.Qset_BTab.FieldByName(Aus).AsInteger := DbGrid_LogAccess.Columns[i].Width; // beim Speichern in die DB (mit Shift-Alt-R gedreht)
  End;
  ...
Bei sehr vielen Spalten, sagen wir mal so ab 30 aufwärts, ist es mir dann aber doch zu aufwendig, 30 Felder in der DB anzulegen. Hier verwende ich dann nur ein VarChar-Feld, in das die Spaltenbreiten des Grids durch Semikolon getrennt eingetragen werden. Eine Zuweisung an die DelimitedText-Eigenschaft einer Stringliste trennt mir diese Werte wieder sauber auf. Aber das ist dann ein anderes Thema ...
  Mit Zitat antworten Zitat
jobo

Registriert seit: 29. Nov 2010
3.072 Beiträge
 
Delphi 2010 Enterprise
 
#3

AW: D7 Tabellenfeld per Variable ansprechen

  Alt 7. Dez 2015, 12:45
Ich finde, das ist keine gutes Beispiel für durchnummerierte Feldnamen. Es skaliert überhaupt nicht. Die Spalteneigenschaften kann man besser per Liste verwalten, die beliebig lang sein kann. Dann hat man die Chance auf einen universellen Mechanismus.
Ich bin mir aber auch nicht sicher, ob es überhaupt ein gutes Beispiel dafür gibt.
Ich selbst verwende eine Tabelle mit durchnummerierten Feldnamen nur in einem Anwendungsfall manchmal für adhoc Datenimporte unbekannten Formats. Aber auch das ist nichts, was ich unbdeingt empfehlen würde.
Gruß, Jo
  Mit Zitat antworten Zitat
Perlsau
(Gast)

n/a Beiträge
 
#4

AW: D7 Tabellenfeld per Variable ansprechen

  Alt 7. Dez 2015, 13:10
  • Wo habe ich behauptet, ein gutes Beispiel liefern zu wollen?
  • Wie ist denn "ein gutes Beispiel" definiert?
  • Was verstehst du unter "es skaliert überhaupt nicht"?
  • Wieso eine Liste und wie lege ich eine Liste in einer Datenbank an?
  • Und wieso muß ich meine Spaltenbreiten mit einem universellen Mechanismus verwalten?
  • Die Feldnamen korresponieren mit dem jeweiligen Spalten-Index. Was soll daran verkehrt sein?
  • Was hat das alles mit dem eigentlichen Thema zu tun?
  Mit Zitat antworten Zitat
Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#5

AW: D7 Tabellenfeld per Variable ansprechen

  Alt 7. Dez 2015, 13:48
  • ...
  • Was hat das alles mit dem eigentlichen Thema zu tun?
Ich denke, dies soll ein Hinweis sein, daß eine Feld/Spaltenbenennung a'la "Feld1","Feld2" etc. nicht so optimal ist. Und daß der TE sich besser davon Lösen sollte.

Gruß
K-H
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector
  Mit Zitat antworten Zitat
Perlsau
(Gast)

n/a Beiträge
 
#6

AW: D7 Tabellenfeld per Variable ansprechen

  Alt 7. Dez 2015, 14:20
Ich denke nicht – vorausgesetzt mit "das" meinst du dasselbe wie ich, nämlich das gesamte Posting. Derartige Hinweis, wie du sie da hineininterpretierst oder herauslesen willst, kann ich in diesem Posting beim besten Willen nicht erkennen: Weder steht dort was davon, daß die erwähnte Feldbezeichnung "nicht so optimal" ist (übrigens ein unsinniger Begriff, denn entweder etwas ist optimal oder nicht, da es wie bei schwanger keine Steigerung oder Minderung gibt), noch kann ich auch nur ansatzweise eine Aufforderung an den TE erkennen, sich von dieser Spaltenbezeichnung zu lösen. Vielmehr ist das Posting als direkte Replik auf meine Ausführungen zu verstehen, weshalb ich auch sehr konkret nachgefragt habe, ohne bislang eine Antwort erhalten zu haben.
  Mit Zitat antworten Zitat
jobo

Registriert seit: 29. Nov 2010
3.072 Beiträge
 
Delphi 2010 Enterprise
 
#7

AW: D7 Tabellenfeld per Variable ansprechen

  Alt 7. Dez 2015, 15:47
  • Wo habe ich behauptet, ein gutes Beispiel liefern zu wollen?
  • Wie ist denn "ein gutes Beispiel" definiert?
Ich erlaube mir, Dinge zu schreiben, ohne dass sie zuvor jemand so genannt oder bezeichnet hat, das ist das Wesen von solchen Foren wie diesem hier.
Gut wäre das Beispiel in diesem Fall gewesen, wenn es wie von Dir geschrieben auch wirklich sinnvoll ist.
Es wiederspricht aber Normalisierungsprinzipien und erfordert in Folge Eingriffe in das Datenmodell, die sich ohne weiteres vermeiden ließen.

  • Was verstehst du unter "es skaliert überhaupt nicht"?
Dass es nicht geeignet ist für beliebige Anzahl von Feldern. Dieser Umstand erzwingt bei unzureichender Spaltenanzahl zu Datenmodelländerungen, die man normalerweise vermeiden möchte und hier auch einfach vermeiden kann.
  • Wieso eine Liste und wie lege ich eine Liste in einer Datenbank an?
Die Abbildung einer Liste nennt man in einer Datenbank Tabelle.
  • Und wieso muß ich meine Spaltenbreiten mit einem universellen Mechanismus verwalten?
Du kannst Deine Spaltenbreite verwalten wie Du willst. Dein Vorgehen finde ich aber eben nicht beispielhaft, deswegen habe ich meinen Beitrag geschrieben.
  • Die Feldnamen korresponieren mit dem jeweiligen Spalten-Index. Was soll daran verkehrt sein?
Ich habe nirgendwo behauptet, dass es verkehrt ist.
  • Was hat das alles mit dem eigentlichen Thema zu tun?
Das alles? Ich habe mich nur auf Deinen Beitrag bezogen. Meine Motivation dazu habe ich bereits genannt.

@p80286: Mein Hinweis bezog sich tatsächlich nur auf das Beispiel von Perlsau. Wie der TE seine Feldnamen nutzt, ist ja nicht wirklich bekannt. Ich fände es schade, wenn es sich jemand abschaut, ohne das die Probleme, die es mit sich bringt, genannt wurden.
Gruß, Jo

Geändert von jobo ( 7. Dez 2015 um 15:53 Uhr)
  Mit Zitat antworten Zitat
Perlsau
(Gast)

n/a Beiträge
 
#8

AW: D7 Tabellenfeld per Variable ansprechen

  Alt 7. Dez 2015, 16:06
Wenn es dir Freude macht, bitte, ich gehe hier nicht weiter auf dich ein, das wäre off topic und hilft niemandem weiter, zumal Tenor und Absicht deines Postings nun offensichtlich geworden sind.
  Mit Zitat antworten Zitat
Dejan Vu
(Gast)

n/a Beiträge
 
#9

AW: D7 Tabellenfeld per Variable ansprechen

  Alt 8. Dez 2015, 07:58
Wo gibt es eigentlich diese überlangen Schlipse zu kaufen, auf die andere Leute dann zwangsweise treten, auch wenn sie genügend Abstand wahren? Vermutlich mal wieder eine Modeerscheinung, die niemandem steht.
  Mit Zitat antworten Zitat
jobo

Registriert seit: 29. Nov 2010
3.072 Beiträge
 
Delphi 2010 Enterprise
 
#10

AW: D7 Tabellenfeld per Variable ansprechen

  Alt 8. Dez 2015, 21:18
Wenn es dir Freude macht, bitte, ich gehe hier nicht weiter auf dich ein, das wäre off topic und hilft niemandem weiter, zumal Tenor und Absicht deines Postings nun offensichtlich geworden sind.
Ich hoffe doch, dass Tenor und Absicht meines Postings offensichtlich sind. Leider vermute ich, dass Du darunter etwas anderes verstehst als ich und dass Du mir nicht wirklich eine Freude machen willst, dadurch dass Du hier nicht weiterschreibst.

Wenn Du wissen möchtest, wie Du mir wirklich eine Freude machen kannst, schick mir einfach eine Antwort.
Gruß, Jo
  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 01:45 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz