Visual c++ y ADO

19/05/2004 - 17:47 por JLO | Informe spam
Hola.
Nececito aprender a utilizar ADO con visual c++. Ya he logrado conectar base
de datos, consultar registros y añadir.
No he podido seleccionar registros a partir de una consulta SQL compuesta,
por ejemplo: "Select * From Empleados Where nombre = "Alberto"
Si alguien tubiera algun ejemplo completo en el manejo de las bases de
datos, se los agradeceria.
Gracias

Preguntas similare

Leer las respuestas

#1 Sergio
19/05/2004 - 18:02 | Informe spam
JLO escribió:

Hola.
Nececito aprender a utilizar ADO con visual c++. Ya he logrado conectar base
de datos, consultar registros y añadir.
No he podido seleccionar registros a partir de una consulta SQL compuesta,
por ejemplo: "Select * From Empleados Where nombre = "Alberto"
Si alguien tubiera algun ejemplo completo en el manejo de las bases de
datos, se los agradeceria.
Gracias





cual es tu error, de compilación? o en la ejecución que no te devuelve
los valores esperados?

si es de compilación puede ser por la sintaxis que tienes en la select,
deberia ser: "select * from Empleados where nombre = 'Alberto'"
pero te repito que solo es si tienes problemas en la compilación, debido
a como has escrito la sentencia.
Si te ejecuta correctamente, y no obtienes los datos esperados puede ser
por el motor de la db, porque no hay diferencias entre una select normal
y una select con un where o group by o cualquier cosa que se te ocurra,
al menos en programación con ado.
Respuesta Responder a este mensaje
#2 JLO
20/05/2004 - 19:34 | Informe spam
Cuando hago un "Select * From empleados" y borro me hace el borrado del
registro activo que seria el primero que encontro sin ningun problema.
pero el problema es que creo que la sentencia sql no me selecciona los
registros de acuerdo a la sentencia y obtengo 0 registros
en el recordset.
no me marca ningun error

"Sergio" escribió en el mensaje
news:
JLO escribió:

> Hola.
> Nececito aprender a utilizar ADO con visual c++. Ya he logrado conectar


base
> de datos, consultar registros y añadir.
> No he podido seleccionar registros a partir de una consulta SQL


compuesta,
> por ejemplo: "Select * From Empleados Where nombre = "Alberto"
> Si alguien tubiera algun ejemplo completo en el manejo de las bases de
> datos, se los agradeceria.
> Gracias
>
>

cual es tu error, de compilación? o en la ejecución que no te devuelve
los valores esperados?

si es de compilación puede ser por la sintaxis que tienes en la select,
deberia ser: "select * from Empleados where nombre = 'Alberto'"
pero te repito que solo es si tienes problemas en la compilación, debido
a como has escrito la sentencia.
Si te ejecuta correctamente, y no obtienes los datos esperados puede ser
por el motor de la db, porque no hay diferencias entre una select normal
y una select con un where o group by o cualquier cosa que se te ocurra,
al menos en programación con ado.
Respuesta Responder a este mensaje
#3 Rodrigo Corral [MVP]
20/05/2004 - 23:10 | Informe spam
La manera de comprobar que un recordset de ADO no tiene datos es coprobar
que tanto EOF como BOF son true. Si ambos son true es que el recordset no
contiene registros.


Un saludo
Rodrigo Corral González [MVP]

microsoft.public.es.vc FAQ
http://vcfaq.europe.webmatrixhosting.net
Respuesta Responder a este mensaje
#4 Sergio
21/05/2004 - 08:36 | Informe spam
JLO escribió:
Cuando hago un "Select * From empleados" y borro me hace el borrado del
registro activo que seria el primero que encontro sin ningun problema.
pero el problema es que creo que la sentencia sql no me selecciona los
registros de acuerdo a la sentencia y obtengo 0 registros
en el recordset.
no me marca ningun error



CoInitialize(NULL);
try {
_ConnectionPtr pCn("ADODB.Connection");
_RecordsetPtr pRs("ADODB.Recordset");
estadios n;
CString SQL;
char sql[500];

sprintf(sql,"SELECT nombre FROM campo WHERE nombre = 'P%' ORDER BY
nombre ASC");

pCn->Open("dsn=SSGDB","","",adConnectUnspecified);
CComboBox *cmb = (CComboBox*) GetDlgItem(IDC_EQUIPODLG_ESTADIO);
pRs->Open(sql,_variant_t((IDispatch *) pCn,
true),adOpenForwardOnly,adLockOptimistic,adCmdText);
while (!pRs->EndOfFile) {
n.id = (int)pRs->GetFields()->GetItem((long)0)->Value;
n.nombre = (char *)((_bstr_t)pRs->GetFields()->GetItem((long)1)->Value);
cmb->AddString(n.nombre);
pRs->MoveNext();
}
pRs->Close();
pCn->Close();
} catch(_com_error &e) {
CString errmsg;
errmsg.Format("%s",(char*)e.Description());
MessageBox(errmsg,GetResString(IDS_MESSAGEBOX_TITLE),MB_ICONEXCLAMATION);
}
CoUninitialize();



Este codigo devuelve todos los campos que empiecen por P
Respuesta Responder a este mensaje
#5 JLO
21/05/2004 - 16:08 | Informe spam
Gracias por su ayuda, se los agradesco
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida