Leer de Microsoft SQL

30/06/2004 - 10:42 por Javier | Informe spam
Hola a todos.

Tengo un problema con un programa en C++ es el siguiente.
Este código que pongo a continuación para leer de una base
de datos de SQL, los campos que tiene 10 dígitos (string)
solo me retorna 9.

CDatabase *m_BaseDatos = new CDatabase();
m_BaseDatos->OpenEx(_T( "DSN=SQL" ),
CDatabase::openReadOnly | CDatabase::noOdbcDialog);

CRecordset rs( m_BaseDatos );
rs.Open( CRecordset::forwardOnly,
_T( "SELECT Webpwd FROM CLIENTES" ) );

CDBVariant varValue;

short nFields = rs.GetODBCFieldCount( );
while( !rs.IsEOF( ) )
{
for( short index = 0; index < nFields; index++ )
{
rs.GetFieldValue( index, varValue, SQL_C_CHAR);
}
rs.MoveNext( );
}

rs.Close( );
delete m_BaseDatos;

En la variable varValue si en la consulta en SQL
hay "1234567890", en esta variable sale "123456789", el
último 0 no sale. Lo he probado todo pero no se porque
puede pasar, si alguien le paró esto le agradeceria que me
comentara como se solucionas.

Salu2 y Gracias Javier
 

Leer las respuestas

#1 Rodrigo Corral [MVP]
30/06/2004 - 13:00 | Informe spam
Quiza te este tomando el cero como final de cadena y por eso no lo muestre,
prueba expecificando un tipo distinto de SQL_C_CHAR.

De todos modos yo no usaria las clases de MFC para trabajar con datos. Mejor
usar ADO. Lee la faq del grupo sobre el tema.


Un saludo
Rodrigo Corral González [MVP]

microsoft.public.es.vc FAQ
http://vcfaq.europe.webmatrixhosting.net

Preguntas similares