TSQLStoredProc with ftWideString parameter

TSQLStoredProc with ftWideString parameter

Postby bmiranda@indra.es » Wed 18 Nov 2009 14:57

Hi,
I'm using embarcadero c++buider 2010 with oracle 10g and DEVARTORACLE It's work fine. But Procedures don't retrieve UTF characters.

SQLStoredProc1->StoredProcName = "Pkg_CCEQ.pr_Read";
SQLStoredProc1->Params->Clear();
SQLStoredProc1->Params->CreateParam(ftWideString,"p_Id_customer",ptInput);
SQLStoredProc1->Params->Items[0]->Size= 250;
SQLStoredProc1->Params->CreateParam(ftWideString,"p_name",ptOutput);
SQLStoredProc1->Params->Items[1]->Size= 250;
SQLStoredProc1->Params->CreateParam(ftWideString,"p_surname",ptOutput);
SQLStoredProc1->Params->Items[2]->Size= 250;
SQLStoredProc1->Params->CreateParam(ftWideString,"p_error",ptOutput);

SQLStoredProc1->Params->Items[0]->Value = 104;
SQLStoredProc1->ExecProc();
edNombre->Text = SQLStoredProc1->Params->Items[1]->AsWideString;


the procedure called is :

PROCEDURE pr_Read (
p_Id_customer IN CEQ_CUSTOMERS.ID_CUSTOMER%TYPE,
p_name OUT NVARCHAR2,
p_surname OUT CCEQ_CUSTOMERS.SURNAME%TYPE,
p_error OUT NVARCHAR2
)
IS
BEGIN
p_error := '0'; SELECT NAME, SURNAME INTO p_name, p_surname FROM CCEQ_CUSTOMERS WHERE ID_CUSTOMER =p_Id_customer;
EXCEPTION
WHEN NO_DATA_FOUND THEN
p_error := '1';
WHEN OTHERS THEN
p_error := '2';
RAISE;
END pr_Read;
bmiranda@indra.es
 
Posts: 1
Joined: Wed 18 Nov 2009 14:40

Postby Plash » Thu 19 Nov 2009 11:06

We have fixed this problem. The fix will be included in the next build of DbxOda.

Note: dbExpress does not allow to change DataType for parameters of TSQLStoredProc.
Plash
Devart Team
 
Posts: 2844
Joined: Wed 10 May 2006 07:09


Return to dbExpress driver for Oracle