AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi DataSet Felddefinition ftString und String = Nix
Thema durchsuchen
Ansicht
Themen-Optionen

DataSet Felddefinition ftString und String = Nix

Ein Thema von haentschman · begonnen am 3. Mai 2016 · letzter Beitrag vom 3. Mai 2016
Antwort Antwort
Benutzerbild von haentschman
haentschman
Online

Registriert seit: 24. Okt 2006
Ort: Seifhennersdorf / Sachsen
5.387 Beiträge
 
Delphi 12 Athens
 
#1

DataSet Felddefinition ftString und String = Nix

  Alt 3. Mai 2016, 14:49
Datenbank: beliebig • Version: ? • Zugriff über: ?
Hallo...

Ich bin gerade an einer Geschichte verzweifelt die so erst einmal ziemlich einfach aussieht.

1. Man nehme eine VirtualTable (Devart) und füge Felder hinzu...
Delphi-Quellcode:
function CreateVirtualTable: TDataSet;
begin
  Result := TVirtualTable.Create(nil);
  Result.FieldDefs.Add('ID', ftInteger);
  Result.FieldDefs.Add('PERSONALID', ftInteger);
  Result.FieldDefs.Add('PNAME', ftString);
  Result.Open;
end;
2. Man fülle die Table:
Delphi-Quellcode:
.
.
Table.AppendRecord([1, 2, 'Blubb']);
.
.
3. man schaue in das angeschlossene DBGrid und staunt:
Die numerischen Werte werden anstandslos angezeigt... der String nicht! Nach dem AppendRecord ist der String auch nicht im Datensatz. Nur (ausschließlich) mit FeldTyp ftVariant wird der String mitgenommen und angezeigt.

Kennt das jemand und kann das erklären?

Danke.
  Mit Zitat antworten Zitat
Benutzerbild von baumina
baumina

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

AW: DataSet Felddefinition ftString und String = Nix

  Alt 3. Mai 2016, 14:58
So ein Stringfeld braucht meist eine Länge, Size = 0 ist da bestimmt nicht so prickelnd.
Hinter dir gehts abwärts und vor dir steil bergauf ! (Wolfgang Ambros)
  Mit Zitat antworten Zitat
Benutzerbild von p80286
p80286

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

AW: DataSet Felddefinition ftString und String = Nix

  Alt 3. Mai 2016, 16:18
So ein Stringfeld braucht meist eine Länge, Size = 0 ist da bestimmt nicht so prickelnd.
Wo ist denn da eine Size-Angabe?
Oder handelt es sich hierbei um einen der so praktischen Default-Parameter?

Gruß
K-H
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector
  Mit Zitat antworten Zitat
Benutzerbild von baumina
baumina

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

AW: DataSet Felddefinition ftString und String = Nix

  Alt 3. Mai 2016, 16:22
DB.TFieldDefs.Add :
Zitat:
procedure Add(const Name: string; DataType: TFieldType; Size: Integer = 0; Required: Boolean = False);
Zitat:
Size ist nur für eine Felddefinitionsobjekt mit einem der folgenden TFieldType-Werten von Bedeutung: ftString, ftBCD, ftBytes, ftVarBytes, ftBlob, ftMemo oder ftGraphic. Bei String- und Byte-Feldern enthält Size die Anzahl der für das Feld in der Tabelle reservierten Bytes. Für ein BCD-Feld gibt Size die Anzahl der Stellen nach dem Dezimalzeichen an. Bei einem BLOB-, Memo- oder Grafikfeld enthält Size die Anzahl der Bytes des Feldwertes, die in der aktuellen Datenbanktabelle gespeichert sind.
Hinter dir gehts abwärts und vor dir steil bergauf ! (Wolfgang Ambros)
  Mit Zitat antworten Zitat
Benutzerbild von haentschman
haentschman
Online

Registriert seit: 24. Okt 2006
Ort: Seifhennersdorf / Sachsen
5.387 Beiträge
 
Delphi 12 Athens
 
#5

AW: DataSet Felddefinition ftString und String = Nix

  Alt 3. Mai 2016, 16:44

Zitat:
So ein Stringfeld braucht meist eine Länge, Size = 0 ist da bestimmt nicht so prickelnd.
Wo ist denn da eine Size-Angabe?
...wo ihr Recht habt, habt ihr Recht. Der Tisch hat jetzt auch Absplitterungen und der Kopf ne Beule. Das war einfach zu einfach. Normalerweise weis man sowas... nur ich hab´s nicht gesehen.

Zu meiner Verteidigung. Ich muß mich erst seit kurzer Zeit und langer Abstinenz wieder mit Datasets rumschlagen. Da kommt man aus der Übung.

Danke an alle...
  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 08:07 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