AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi wie varbinary (text) mit Delphi lesen und schreiben
Thema durchsuchen
Ansicht
Themen-Optionen

wie varbinary (text) mit Delphi lesen und schreiben

Ein Thema von temi · begonnen am 23. Dez 2014 · letzter Beitrag vom 23. Dez 2014
Antwort Antwort
temi

Registriert seit: 6. Apr 2013
9 Beiträge
 
#1

wie varbinary (text) mit Delphi lesen und schreiben

  Alt 23. Dez 2014, 12:03
Datenbank: Mysql • Version: 5.5 • Zugriff über: Zeos
Hallo Forum,

kleine Hintergrundinfo da ich keine Erfahrung habe mit binary Typ. Und vielleicht habe ich auch einen völlig falschen Ansatz gewählt bzw. ist overkill da in dem Feld nur normale Text-Zeichen.

Ich hab hier in einer Mysql-DB ein Feld 3 Zeichen mormale Text da dieses Feld als Schlüssel verwendet wird und ich auch nach Groß- und Kleinschreibung selektieren muß, musste ich leider das Feld als Binary anlegen. Die Tabelle wird hauptsächlich von einem PHP-Skript bearbeitet und da ist es auch kein Problem. Jetzt will ich aber dieses Feld auch mit Delphi anzeigen und schreiben.

nach durchlesen von Internet bin ich auf folgenden Code gekommen leider wird nichts in meinen Richedit angezeigt

folgendes habe ich im AfterScroll Event meine Query geschrieben.

Delphi-Quellcode:
var
   ts: TStream;
   ms: TMemoryStream;
begin

  try
    ts := TStream.Create;
    ts := ZQuery1.CreateBlobStream(ZQuery1.Fieldbyname('kuerzel'),bmRead);
    try
      ms := TMemoryStream.Create;
      ts.Position := 0;
      ms.LoadFromStream(ts);
      ms.position := 0;
      RichEditID.Lines.LoadFromStream(ms);
    finally
      ms.Free
    end;
  finally
    ts.Free;
  end
end;
Vielen Dank schon mal für eure Hilfe
Micha
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.858 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: wie varbinary (text) mit Delphi lesen und schreiben

  Alt 23. Dez 2014, 12:08
Und das geht mit einem normalen Textfeld(CHAR/VARCHAR) nicht?
Markus Kinzler
  Mit Zitat antworten Zitat
temi

Registriert seit: 6. Apr 2013
9 Beiträge
 
#3

AW: wie varbinary (text) mit Delphi lesen und schreiben

  Alt 23. Dez 2014, 12:14
Und das geht mit einem normalen Textfeld(CHAR/VARCHAR) nicht?
Ah das mit dem Select muß ich nochmal ausprobieren bin jetzt nicht mehr ganz sicher.

Aber was ganz sicher nicht funktioniert ist einen unique key drüberlegen da wird nicht zwischen Groß und Kleinschreibung unterschieden nur bei Binary und das war glaube ich damals der eigentliche Grund das so zu machen.

Gruß
Micha
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.858 Beiträge
 
Delphi 11 Alexandria
 
#4

AW: wie varbinary (text) mit Delphi lesen und schreiben

  Alt 23. Dez 2014, 12:19
Komisches Verhalten. Auf BINARY/VARBINARY Felder kannst Du aber wohl wie auf CHAR/VARCHAR zugreifen, also ohne Stream.

https://dev.mysql.com/doc/refman/5.0...varbinary.html
Markus Kinzler
  Mit Zitat antworten Zitat
temi

Registriert seit: 6. Apr 2013
9 Beiträge
 
#5

AW: wie varbinary (text) mit Delphi lesen und schreiben

  Alt 23. Dez 2014, 12:31
[QUOTE=mkinzler;1284506]Komisches Verhalten. Auf BINARY/VARBINARY Felder kannst Du aber wohl wie auf CHAR/VARCHAR zugreifen, also ohne Stream.

hab ich versucht aber dann steht '(Bytes)' im DBEdit
oder wenn ich query.AsString mache geht auch nicht mit AsVariant könnte es vielleicht gehen aber ich weiß nicht wie. Gibt es eine Funktion die eine Variant in einen String umwandeln kann (Delphi 6) (ich kann immer davon ausgehen das in dieser Variant ein String steht.


Gruß
Micha
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.858 Beiträge
 
Delphi 11 Alexandria
 
#6

AW: wie varbinary (text) mit Delphi lesen und schreiben

  Alt 23. Dez 2014, 12:34
VarToStr ?
Markus Kinzler
  Mit Zitat antworten Zitat
temi

Registriert seit: 6. Apr 2013
9 Beiträge
 
#7

AW: wie varbinary (text) mit Delphi lesen und schreiben

  Alt 23. Dez 2014, 13:05
Genau das hab ich gesucht Dachte aber das gibt's in D6 nicht dabei muß man erst die Unit Variants einbinden

edtID.Text := VarToStr(ZQuery1kuerzel.AsVariant);

leider gibt er mir ein ERangeError

Gruß Micha
  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 03:18 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