The code I am using looks like this...
To update:
ADOQuery1.Parameters.CreateParameter('veh_desc', ftWideString, pdInput, 0,
null);
ADOQuery1.Parameters.ParamByName('veh_desc').Value := wDesc;
ADOQuery1.Parameters.CreateParameter('veh_key', ftInteger, pdInput, 0,
null);
ADOQuery1.Parameters.ParamByName('veh_key').Value := wKey;
ADOQuery1.SQL.Add(wSQLStr);
ADOQuery1.ExecSQL;
To read:
ADOQuery1.Parameters.CreateParameter('veh_key', ftInteger, pdInput, 0,
null);
ADOQuery1.Parameters.ParamByName('veh_key').Value := StrToInt(Edit2.Text);
ADOQuery1.SQL.Add(wSQLStr);
ADOQuery1.Open;
if not ADOQuery1.Eof then
wSpecStr := ADOQuery1.FieldByName('veh_desc').AsWideString;
Some more points:
1. All works fine on SQL Server.
2. I have set the NLS_LANG environment variable on my client to be
'AMERICAN_AMERICA.AL16UTF16'
3. On the DB server, the NLS_CHARACTERSET parameter is WE8MSWIN1252 and
NLS_NCHAR_CHARACTERSET is AL16UTF16.
Any ideas?
I would recoment you to use the native acccess components form CoreLab
to work with Oracle. They support Unicode for Oracle.
Ram Mulay schrieb:
Looks like Corelab's dbExpress drivers are the same as the ones shipped by
Borland Delphi.
Do you know if the sql statements have to change when this driver is used
for Oracle? What I mean is do we have to use the N'' syntax for
inserts/updates of parameterized variables? For SQL Server, it was not
required...fyi.
Thanks.
"Bernhard Geyer" <Bernhar...@nospam.de> wrote in message
news:43f5...@newsgroups.borland.com...
I don't know. I'm using some other native Component and do the necessare
UTF8 Coding/Decoding in our own DB-Access-Layer.