Einzelnen Beitrag anzeigen

Benutzerbild von Kurt56
Kurt56

Registriert seit: 6. Apr 2005
Ort: Wedemark
47 Beiträge
 
Delphi XE8 Professional
 
#5

Re: Stringfield in Datenbank; EIN Byte ÄNDERN

  Alt 26. Sep 2007, 14:27
Vielen Dank für deine Mühe,
aber, das hast du leider völlig mißverstanden.


Der "Kollege" hatte vor vielen Jahren, in einer mir nicht bekannten Sprache, eine Datenbank mit BTrieve kreiert
und dabei ein Datenbankfeld "vergewaltigt".

SEIN Programm speichert in einem CHAR-Datenbankfeld mit 4 Byte eine ZAHL-GEPACKT.

Aber nicht mal so einfach, sondern
1 ist 01 00 00 00 hex
30000 ist 30 75 00 00 hex

das zu LESEN ist kein Problem, denn die Stringvariable liefert bei

1 = ein Byte mit 01 hex (die restlichen 3 Byte werden als Nul-String nicht gelesen)
30000 = 2 Byte mit 30 75 hex, die beiden restilechen Byte werden als Nul-String nicht gelesen.

Leider muß ich auch zurückschreiben.
Und wenn das Programm, mit dem wir sonst arbeiten (müssen) dort '3000' vorfindet (es sind nur 4 Character)
oder 30hex 75hex 20hex=blank 20hex=blank ( 30 75 20 20 wird als 538.998.064 interpretiert.)

Wir wollen aber nicht 538.998.064 Stück herstellen, sondern nur 30.000 Stück

Deshalb hatte ich das ja auch so umständlich programmiert.

Aber, wie ich das String-Feld in der Datenbank "überzeugen" soll, dass es alle 4 Byte (auch die mit NULL)
annehmen soll, weis ich nicht.

Bin schon recht verzweifelt.
Kurt
  Mit Zitat antworten Zitat