Consultas en el Sql Server

15/08/2003 - 22:00 por Jorge A S | Informe spam
Buenas a todos, les comento que estoy haciendo consultas
a una base en SQL Server y me encuentro con los siguientes
inconvenientes:

1) Usando la clase CRecordset no encuentro la forma de
levantar Stored Procedures, conocen alguna forma de
hacerlo ?

2) Usando las fuentes de datos ADO: Connection y toda su
familia pude acceder y recuperar registros de un Stored
Procedure el problema que encuentro es que no me da el
total de registros que trae el recordset, saben de alguna
de forma de obtener este dato ?
Desde ya les agradezco.

Preguntas similare

Leer las respuestas

#1 Jorge Eastman
17/08/2003 - 08:32 | Informe spam
Hola tocayo...


La verdad que no se nada de VC, pero en otros entornos de desarrollo, por lo
general no conoces el número de registros hasta que no llegas al último,
para ello se hace un ciclo que recorra el recordSet hasta que sea EOF, los
recordSet tienen esa propiedad.

Ahora, si por alguna circunstancia particular necesitas conocer el número de
registros antes de comenzar a procesarlos localmente, yo lo que hago es:

creo un SP con dos consultas, la primera con la misma condicion, tablas y
demas como la que se traera los datos, pero solo con um campo de la forma
siguiente

select count(*) as cantidad
from tabla
where condicion

luego la consulta que me retorna los datos

select *
from tabla
where condicion

del lado del cliente esto se recibe como un conjunto de resultado, en RDO
con VB al consultar el recorset tenermos los resultados de la primera
consulta, para poder ver los resultados de la segunda algo algo como esto

if not rs.MoreResults then
.
endif

con esto le indico a RDO que mi conjunto de registros actuales serán los del
segundo conjunto

se que en ADO existe algo similar, pero no se como se llama, estoy es para
darte una pista que espero que te sea de utilidad

Un saludo


"Jorge A S" escribió en el mensaje
news:01e901c36367$edc444b0$
Mostrar la cita
#2 Jorge Eastman
17/08/2003 - 08:39 | Informe spam
Estuve buscando algo de informacion en la ayuda MSND, claro, desde VB que es
lo que mas entiendo y vi lo siguiente:


Dim rs As New ADODB.Recordset
sql = "Select * from authors Where year_born is not null; " _
& "Select * From authors Where year_born is null"
rs.Open sql, cn
Do
i = MsgBox("¿Mostrar los resultados?", vbYesNoCancel)
If i = vbYes Then
ADOGrid1.ShowData rs
Set rs = rs.NextRecordset
End If
Loop Until rs.State = adStateClosed


buscando ayuda de ADO para VC encontre lo siguiente:

SELECT LastName, FirstName FROM Authors
WHERE LastName = 'Smith';

SELECT Title, ISBN FROM Titles
WHERE Pub_ID = 9999

#include <afxole.h>
#include <dbdao.h>

CdbDBEngine dben;
CdbWorkspace ws;
CdbDatabase dbs;
CdbRecordset rst;
LPTSTR szSelect = // Two queries...
"SELECT LastName, FirstName "
"FROM Authors WHERE LastName = 'Smith';"
"SELECT Title, ISBN FROM Titles WHERE "
"Pub_ID = 9999";
...
ws = dben.CreateWorkspace(...,dbUseODBC);
dbs = ws.OpenDatabase(...);
rst = dbs.OpenRecordset(szSelect);
while( rst.NextRecordset())
{ ... // Process each query...
if (Error)
rst.Cancel();
else
rst.Update();
...
}
rst.Close();
espero que te sea de utilidadsaludos





"Jorge Eastman" escribió en el mensaje
news:
Mostrar la cita
lo
Mostrar la cita
de
Mostrar la cita
del
Mostrar la cita
#3 Jorge A S
18/08/2003 - 16:05 | Informe spam
Jorge, te agradezco por la respuesta y te comento que el
problema que tengo es que puedo recorrer el recordset en
un solo sentido hasta llegar al final y sacar el total de
registros, todo esto lo hago antes de cargar los
resultados, el problema surge cuando ejecuto MoveFirst()
para recorrerla de nuevo y asi cargar los resultados, me
da un error y se cuelga el programa es como si esta
funciòn no se soportarìa.
Igualmente rescato eso de hacer dos consultas lo voy a
probar a ver que resultados me trae. Un abrazo y gracias
nuevamente.

Mostrar la cita
claro, desde VB que es
Mostrar la cita
null; " _
Mostrar la cita
vbYesNoCancel)
Mostrar la cita
mensaje
Mostrar la cita
de desarrollo, por
Mostrar la cita
llegas al último,
Mostrar la cita
hasta que sea EOF, los
Mostrar la cita
conocer el número
Mostrar la cita
yo lo que hago es:
Mostrar la cita
condicion, tablas y
Mostrar la cita
campo de la forma
Mostrar la cita
resultado, en RDO
Mostrar la cita
de la primera
Mostrar la cita
algo algo como esto
Mostrar la cita
actuales serán los
Mostrar la cita
llama, estoy es para
Mostrar la cita
mensaje
Mostrar la cita
consultas
Mostrar la cita
siguientes
Mostrar la cita
de
Mostrar la cita
toda su
Mostrar la cita
Stored
Mostrar la cita
alguna
Mostrar la cita
Ads by Google
Search Busqueda sugerida