Problema con Recordset
Publicado por Matias (136 intervenciones) el 13/01/2009 13:56:34
Hola gente como va ??
Bueno el problema que tengo es que llamo a un SP de Mysql desde VB6 y cuando pregunto si es recordset esta vacio me da un error de que La operacion no esta permitida si el objeto esta cerrado.
Aca mi codigo de vb6
_______________________________________________________________________
Dim cmd As ADODB.Command
Dim rs As ADODB.Recordset
cmd.ActiveConnection = db
cmd.CommandText = "call consultacajaventasextra('" & Format(DTPicker1.Value, "yyyymmdd") & "','" & sucu & "','" & tipo & "')"
Set rs = New ADODB.Recordset
Set rs = cmd.Execute
If rs.BOF And rs.EOF Then
_______________________________________________________________________
la variable deb es la conexion y esta declarada como publica
abajo esta el procedimiento de mysql
_______________________________________________________________________
CREATE DEFINER=`root`@`localhost` PROCEDURE `consultacajaventas`(fechac datetime, sucursalc varchar(1), tipoc varchar(1))
BEGIN
declare tipo varchar(1);
set tipo = tipoc;
if tipoc = 'V' then
select codventa, importetotal from ventas where fecha = fechac and estado <> 'baja' and tipo = tipoc and sucursal = sucursalc;
end if;
if tipoc = 'Z' then
select codventa, importetotal from ventas where fecha = fechac and tipo = tipoc and sucursal = sucursalc;
end if;
end
_______________________________________________________________________
Lei por ahi que deberia usar set nocount on en el procedimiento pero lo intento y me da error, no se conoce la variable nocount me deice el servidor mysql
Como lo soluciono ????
Gracias
Bueno el problema que tengo es que llamo a un SP de Mysql desde VB6 y cuando pregunto si es recordset esta vacio me da un error de que La operacion no esta permitida si el objeto esta cerrado.
Aca mi codigo de vb6
_______________________________________________________________________
Dim cmd As ADODB.Command
Dim rs As ADODB.Recordset
cmd.ActiveConnection = db
cmd.CommandText = "call consultacajaventasextra('" & Format(DTPicker1.Value, "yyyymmdd") & "','" & sucu & "','" & tipo & "')"
Set rs = New ADODB.Recordset
Set rs = cmd.Execute
If rs.BOF And rs.EOF Then
_______________________________________________________________________
la variable deb es la conexion y esta declarada como publica
abajo esta el procedimiento de mysql
_______________________________________________________________________
CREATE DEFINER=`root`@`localhost` PROCEDURE `consultacajaventas`(fechac datetime, sucursalc varchar(1), tipoc varchar(1))
BEGIN
declare tipo varchar(1);
set tipo = tipoc;
if tipoc = 'V' then
select codventa, importetotal from ventas where fecha = fechac and estado <> 'baja' and tipo = tipoc and sucursal = sucursalc;
end if;
if tipoc = 'Z' then
select codventa, importetotal from ventas where fecha = fechac and tipo = tipoc and sucursal = sucursalc;
end if;
end
_______________________________________________________________________
Lei por ahi que deberia usar set nocount on en el procedimiento pero lo intento y me da error, no se conoce la variable nocount me deice el servidor mysql
Como lo soluciono ????
Gracias
Valora esta pregunta


0