• Sábado 14 de Diciembre de 2024, 15:24

Autor Tema:  funcion string me devuelve solo un caracter  (Leído 1488 veces)

netlan

  • Nuevo Miembro
  • *
  • Mensajes: 8
    • Ver Perfil
funcion string me devuelve solo un caracter
« en: Viernes 12 de Febrero de 2010, 14:58 »
0
El problema que tengo es que tengo una funcion que tiene un parametro de entrada como string, hace una busqueda en la base de datos y teoricamente que devolveria lo que encuentre. Pero el problema es que solo me devuelve el primer caracter de lo que ha encontrado. Os muestro el siguiente codigo:

BSTR __declspec(dllexport) obtenir_dades2(BSTR idcode)
{

//aux_id = &idcode;
   LPSTR buffer ;
//   LPSTR buffer2 ;
   buffer = (LPSTR)idcode;
   

_RecordsetPtr Rs(__uuidof(Recordset));
//se le asocia la conexión
Rs->PutRefActiveConnection(pAdoCone);
_bstr_t bstrSql;

_bstr_t strApe2;

bstrSql = "Select nombre from especial_wert where codigo =  " + idcode;


try{

//cadena de tipo _bstr_t con la sentencia SQL necesaria
//abro el recordset
Rs->Open(bstrSql,vtMissing,adOpenForwardOnly,adLockReadOnly,adCmdText);
/////////////////// conversion strings a chars///////////////

while(!Rs->adoEOF)  //mientras no se fin de archivo...
{
//obtengo el valor del campo apellido
strApe2   =  Rs->Fields->GetItem("nombre")->Value;



return(SysAllocString(strApe2));

//Rs->MoveNext();
}
//cierro y libero el recordset
Rs->Close();
Rs.Release();

//return 1;

//return (strApe);
///__stdcall CALLBACK StringExample(strApe);
}
catch (...)
{
// ver_com_error(ce);
//return strApe;
}
return strApe2;

}

muchas gracias.

Eternal Idol

  • Moderador
  • ******
  • Mensajes: 4696
  • Nacionalidad: ar
    • Ver Perfil
Re: funcion string me devuelve solo un caracter
« Respuesta #1 en: Viernes 12 de Febrero de 2010, 17:46 »
0
Supongo que estas mezclando ANSI y Unicode, depuralo y mira en memoria, si a cada caracter le sigue un 0 es lo que digo.

Nacional y Popular En mi país la bandera de Eva es inmortal.


Queremos una Argentina socialmente justa, económicamente libre y  políticamente soberana.
¡Perón cumple, Evita dignifica!


La mano invisible del mercado me robo la billetera.

netlan

  • Nuevo Miembro
  • *
  • Mensajes: 8
    • Ver Perfil
Re: funcion string me devuelve solo un caracter
« Respuesta #2 en: Sábado 13 de Febrero de 2010, 22:17 »
0
Muchas gracias, lo tendre en cuenta. Pero actualmente estoy pasando pasando un codigo n codigo tipp
10 y tendria que retornar eternal y solo obtengo la primera letra.
Si me puedes ayudar con l codigo, te lo agradeceria mucho.

EI: juntando mensajes.

Solucionado, muchas gracias.

Eternal Idol

  • Moderador
  • ******
  • Mensajes: 4696
  • Nacionalidad: ar
    • Ver Perfil
Re: funcion string me devuelve solo un caracter
« Respuesta #3 en: Lunes 15 de Febrero de 2010, 16:26 »
0
De nada.

Nacional y Popular En mi país la bandera de Eva es inmortal.


Queremos una Argentina socialmente justa, económicamente libre y  políticamente soberana.
¡Perón cumple, Evita dignifica!


La mano invisible del mercado me robo la billetera.