cazber Skrevet 13. mai 2008 Del Skrevet 13. mai 2008 Vi aksesserer databasen vår, som kan ligge i en Pervasive.SQL eller MSSql database vha TADOConnection + TADOQuery. Innholdet i databasen må ligge i OEM tegnsett pga legacy programmer. Mot Pervasive.SQL så funker det greit, men når vi henter (og inserter) tekster i MSSQL, så må vi konvertere til ANSI. Koden som i dag ser noe slik ut: sTekst := oQuery.FieldByName('FeltNavnMedTekst').AsString; Kan vi jo konvertere til: sTekst := oQuery.FieldByName('FeltNavnMedTekst').AsString; if DatabaseType = C_MSSQL then OEMToChar(PChar(sText),PChar(sText)); men det blir forferdelig rotete, og sinnsykt mange steder å endre. Hadde håpet på at det var en mulighet for å endre dette med en property på TADOConnection objektet, eller i connection stringen, men finner ikke noe jeg kan bruke. Har også tenkt på å overstyre "FieldByName().AsString" metoden, men kan ikke helt se hvordan det lar seg løse da "FieldByName" returnerer et "TField" objekt fra mitt "TADOQuery" objekt. Dvs at jeg må overstyre "AsString" metoden i "TField" klassen, og den har jeg muligens tilgang til, men selv om jeg lager min egen "TmyField", så vil jo fortsatt "TADOQuery" instansiere en et vanlig "TField" objekt (vet jo ikke om min nye klasse). Noen som har en lur ide ? TIA Karl Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå