• 12 odgovora
  • 4.348 pregleda
Prevodjenje tipa [binary](20)iz MSSQl baze u c++ 17.03.2014. u 21:42 · pre 153 meseci #1
Pozdrav svima,
Na koji nacin mogu da prevedem polje iz baze [binary](20) (vrednost u polju je npr 0x06D18F2E949EA381936F03B112D5BB2E43F710C9) u string u Embracadero C++?

[Ovu poruku je menjao darko_sudarov dana 18.03.2014. u 09:45 GMT+1]
Re: Prevodjenje tipa [binary](20)iz MSSQl baze u c++ 18.03.2014. u 10:08 · pre 153 meseci #2
Nisi dovoljno odredjen u pitanju: STA treba da predstavlja string?

Red velicine prikazanog broja je negde oko 2^(40*4); najveci integer koji sam dosad video :). Dakle, string treba da prikaze - sta? Decimalni broj do zadnje (tacne) cifre, ili decimalni broj s eksponentom, ili nesto trece?

Pozz
Re: Prevodjenje tipa [binary](20)iz MSSQl baze u c++ 18.03.2014. u 14:36 · pre 153 meseci #3
Pozdrav,

Treba da rezultat upita DM->cdskod->FieldByName("kod_terminala")->As???? .... ne znam sta prevedem u string. tj ako u bazi pise 0x06D18F2E949EA381936F03B112D5BB2E43F710C9 rezultat treba da bude 06D18F2E949EA381936F03B112D5BB2E43F710C9.
Re: Prevodjenje tipa [binary](20)iz MSSQl baze u c++ 19.03.2014. u 06:36 · pre 153 meseci #5
DM->cdskod->FieldByName("kod_terminala")->AsBytes sam pokusao ali nisam siguran da je dobar tip. U bazi je tip [binary](20) i ne znam koji bi mu najvise odgovarao u c++.
Re: Prevodjenje tipa [binary](20)iz MSSQl baze u c++ 19.03.2014. u 10:32 · pre 153 meseci #6
Ne, nisi me razumeo.

Stavi breakpoint na liniju

Code:
DM->cdskod->FieldByName("kod_terminala")->AsBytes


i zatim u debug/watch prozoru otkucaj sledece

Code:
DM->cdskod->FieldByName("kod_terminala").DataType


i vidi sta pise u Value edit-u debug prozora.

Cilj je da saznamo koja je interna (CBuilder?) prezentacija field-a iz baze, prema tome cemo videti kako izvuci zeljeni string.

Pozz
Re: Prevodjenje tipa [binary](20)iz MSSQl baze u c++ 19.03.2014. u 12:43 · pre 153 meseci #9
Aha, to je znaci TBytesField, koji je izveden od TBinaryField.

Pogledaj po help-u CBuilder-a za navedene klase, ima primera, ne bi trebalo da bude problema kod konverzije u string. (cak postoji izveden/override property TBinaryField.AsString(), proveri kako radi)

Pozz
Re: Prevodjenje tipa [binary](20)iz MSSQl baze u c++ 19.03.2014. u 16:35 · pre 153 meseci #10
Pokusao sam ovako ali u drugom redu pukne u run time
Code:

TBinaryField *tb ;
tb->AsBytes = DM->cdskod->FieldByName("kod_terminala")->AsBytes;
cxTextEdit11->Text = tb->AsString ;

Imas neku ideju?
Re: Prevodjenje tipa [binary](20)iz MSSQl baze u c++ 20.03.2014. u 07:54 · pre 153 meseci #12
Nisi me razumeo.

Mislio sam na neku ideju kako da resim problem ili ako znas resenje napisi ga.
Post je pogledalo oko 500 ljudi i jedino ti i Burgos ste se ukljucili sto znaci da oko 498 ljudi ne zna odgovor a mozda im nekada zatreba kao sto sada treba meni.

Pozz
Re: Prevodjenje tipa [binary](20)iz MSSQl baze u c++ 20.03.2014. u 14:52 · pre 153 meseci #13
Citat:
darko_sudarov: Pokusao sam ovako ali u drugom redu pukne u run time
Code:

TBinaryField *tb ;
tb->AsBytes = DM->cdskod->FieldByName("kod_terminala")->AsBytes;
cxTextEdit11->Text = tb->AsString ;

Imas neku ideju?


Nisi inicijalizovao tb...
Potpis
EOF
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme