Einzelnen Beitrag anzeigen

wschrabi

Registriert seit: 16. Jan 2005
448 Beiträge
 
#1

SQLIte and GUIDs in Binary BLOB Form

  Alt 24. Nov 2016, 18:06
Datenbank: SQLite • Version: 3 • Zugriff über: UNIDAC
Hallo Leute,
ich habe eine SQLite3 DB wo die IDs (=GUIDs) als BLOB drin sind.
Jetzt möchte ich ein random GUID erzeugen.

Dachte mir es so:
Das CreateRandomGUID ist von hier: http://stackoverflow.com/questions/7...unicode-string(erzeugt einen HEXString)
Doch wie bekomme ich jetzt den myRandGUIDstr in die BLOB Felder.
MyQID ist ein Quote(ID) auf das blob feld in references.
das möchte ich in ReferenceID wieder als blob in location reinschreiben.

Doch wenn ich dann die DB mit Citavi (ist eine Citavi DB) aufmache, meckert er, daß die Umwandlung nicht stimmt.
Was mache ich falsch? Bin um jeden RAT dankbar.


Delphi-Quellcode:
       
   MyQID:=UniQuery1.FieldByName('MyID').AsString;
                 uniquery2.ParamByName('RefID').AsBlob:=TEncoding.ASCII.GetBytes(removeQ(MyQID));
                 //uniquery2.ParamByName('RefID').AsString:=GUIDToString(TGUID(MyQID));
                 CreateGUID(MyGuid0);
                 myRandGUIDstr:=CreateRandomGUID;
                 //myrandGUIDstr:=HexStrtostr(chminus(removebrakes(GUIDToString(MyGuid0))));
                 uniquery2.ParamByName('MyGUID').AsBlob:=TEncoding.ASCII.GetBytes(myRandGUIDstr);
                 
                 
               Label5.Caption:=Format('DB Record Ref-GUID: %s : LOC-GUID: %s',[uniquery1.FieldByName('MYID').AsString,myrandguidstr]);
               end
  Mit Zitat antworten Zitat