C/Visual C - Visula C++::CRecordset

 
Vista:

Visula C++::CRecordset

Publicado por PanchoColate (2 intervenciones) el 12/03/2002 15:23:45
Wenas, tengo un problemilla con Visual c++, y os escribo haber si me podeis hechar un cable. Mi problema es el siguiente:
Tengo asociado un ODBC a un objeto de la clase CDatabase.
CDatabase m_db;
m_db.Open("ODBC");

Creo un objeto CRecordset a partir del objeto CDatabase anterior
CRecordset Tabla (&m_db);
. A la hora de abrir este objeto con la función CRecorset::Open(), para realizar un
SELECT * from tabla where tabla.Id = 10;
Tabla.Open(CRecordset::dynaset, "SELECT * From myTable", CRecordset::none )
compila bien, pero a la hora de ejecutarse se lanza una excepción de la clase CDBException, como si no me reconociera los parametros de la función.

Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Visula C++::CRecordset

Publicado por PanchoColate (2 intervenciones) el 12/03/2002 15:23:46
Wenas, tengo un problemilla con Visual c++, y os escribo haber si me podeis hechar un cable. Mi problema es el siguiente:
Tengo asociado un ODBC a un objeto de la clase CDatabase.
CDatabase m_db;
m_db.Open("ODBC");

Creo un objeto CRecordset a partir del objeto CDatabase anterior
CRecordset Tabla (&m_db);
. A la hora de abrir este objeto con la función CRecorset::Open(), para realizar un
SELECT * from tabla where tabla.Id = 10;
Tabla.Open(CRecordset::dynaset, "SELECT * From myTable", CRecordset::none )
compila bien, pero a la hora de ejecutarse se lanza una excepción de la clase CDBException, como si no me reconociera los parametros de la función.

Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Visual C++ duda de CRecordset

Publicado por Josep (29 intervenciones) el 13/03/2002 15:02:06
Si no me equivoco tu código es :

try
{
m_db.Open("ODBC");
CRecordset Tabla (&m_db);
Tabla.Open(CRecordset::dynaset, "SELECT * From myTable", CRecordset::none ); /* DONDE ESTAN LOS PARAMETROS!!!!*/
···
}
catch (CDBException e){ ···· }

Yo no veo que la sentencia SQL que has dicho sea la que has codificado. Yo creo que deberia ser...

CString strValor, strSQL;
strValor.Format("%d",10);
strSQL=CString( "SELECT * From myTable mT where mT.Id=")+strValor;
Tabla.Open(CRecordset::dynaset,strSQL, CRecordset::none);

Creo que esto está correcto pero no he tenido tiempo para verificarlo, lo siento. Espero que te haya ayudado en algo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar