一段VB通过ODBC访问数据库通过存储过程获取数据得代码。 在SQL Server中测试通过。 但是在与Oracle数据库连接时无返回结果。 代码如下: dim strSQL as string Dim cmdPara As New ADODB。Parameter Dim cmdRecord As New ADODB。
Command Dim conAlarm As ADODB。Connection Dim recdAlarm As ADODB。Recordset strSQL = "DSN=test;UID=aaa;PWD=bbb;" Set conAlarm = New ADODB。
Connection With conAlarm 。ConnectionString = strSQL 。CommandTimeout = 15 。open End With With cmdRecord 。ActiveConnection = conAlarm 。
CommandType =adCmdStoredProc 。CommandText ="testprocedus" 。Parameters。Append 。CreateParameter("BeginTime", adVarChar, adParamInput,20 , alarmtime) 。
Parameters。Append 。CreateParameter("EndTime", adVarChar, adParamInput,20 , tmpdate) 。Parameters。Append 。CreateParameter("cJELimit", adVarChar, adParamInput, 10, prolimit) 。
Parameters。Append 。CreateParameter("cTerm", adVarChar, adParamInput, 1, procterm) 。Parameters。Append 。CreateParameter("iShopNum", adInteger, adParamInput,4 , InShopNum) End With Set recdAlarm = cmdRecord。
Execute Do While Not recdAlarm。EOF 。。。。。。。 recdAlarm。MoveNext Loop 调用得存储过程和包如下: 包 CREATE OR REPLACE PACKAGE pkg_AB as type sale_t is record( Except_ShopNum varchar2(4), Except_Name varchar2(14), Except_Type varchar2(15), Except_IsCount varchar2(15), Except_Person varchar2(15), Except_Money varchar2(15), Except_Time varchar2(15), Except_Place varchar2(15), Except_DetailNum varchar2(15), Except_IsClosed varchar2(15), Except_Status varchar2(15)); type curtype is ref cursor return sale_t; end pkg_AB; 存储过程 create or replace procedure ps_AB_TuiHuo( begintime in varchar2, endtime in varchar2, cJELimit in varchar2, --Decimal =0。
0, cTerm in varchar2, --int=1 iShopNum in int, v_cur in out pkg_ rtype) as JELimit float; Term int; begin Term:=to_number(cTerm); if Term=1 then open v_cur for select distinct to_char(iShopNum) as Except_ShopNum, 'AB' as Except_Name, '1' as Except_Type, '1' as Except_IsCount, rson as Except_Person, to_char(abs( )) as Except_Money, to_char(b。
date,'yyyy-mm-dd hh24:mi:ss') as Except_Time, as Except_Place, to_char( billno) as Except_DetailNum, '0' as Except_IsClosed, '0' as Except_Status from table1 a,table2 b where = and b。
b='4' and b。date>=to_date(begintime ,'yyyy-mm-dd hh24:mi:ss') and b。dateJELimit order by 7; end if; end; 该存储过程在VC做得程序中使用也正常 ORCACLE服务器版本为817得 客户端817得和9i得都试验过,结果一样。