I have a large SQL query using Cursors that runs fine in SQL Dvlp. I now need to move it over to ASP. If I do a simple query the ASP page displays fine but once I add the DECLARE Variables and I even stripped down my Curson to something very simple it nevers Fetches any rows - always returns 0 rows???Is there something diff about using Cursors in SQL Dvlp vs. ASP??
sSQL = "DECLARE" & vbCr & _
"range_star t DATE;" & vbCr & _
"range_end DATE;" & vbCr & _
"range_day_ end DATE;" & vbCr & _
"sStart VARCHAR2(20);" & vbCr & _
"sEND VARCHAR2(20);" & vbCr & _
"clic_date DATE;" & vbCr & _
"cdef_cnt NUMBER := 0;" & vbCr & _
"cqc_cnt NUMBER := 0;" & vbCr & _
"cbpt_cnt NUMBER := 0;" & vbCr & _
"f_lic_date DATE;" & vbCr & _
"f_def_cnt NUMBER := 0;" & vbCr & _
"f_qc_cnt NUMBER := 0;" & vbCr & _
"f_bpt_cnt NUMBER := 0;" & vbCr & _
"total_def_ cnt NUMBER := 0;" & vbCr & _
"total_qc_c nt NUMBER := 0;" & vbCr & _
"total_bpt_ cnt NUMBER := 0;" & vbCr & _
"CURSOR c1 IS SELECT lic_date INTO clic_date " & vbCr & _
"FROM cust_aggregated _license ; " & vbCr & _
"BEGIN " & vbCr & _
"OPEN c1; " & vbCr & _
" LOOP " & vbCr & _
" FETCH c1 INTO f_lic_date; " & vbCr & _
" EXIT WHEN c1 % NOTFOUND; " & vbCr & _
" END LOOP; " & vbCr & _
"CLOSE c1; " & vbCr & _
"END;"
oRS.CursorLocat ion= 3 'adUseClient
oRS.CursorType = 3
Set oSQL.ActiveConn ection = oConn
oSQL.CommandTex t = sSQL
oRS.Open oSQL ' this code works with simple select stmt
If oRS.State = 0 Then
Response.Write "<H2></td><td><font face=Verdana color=black size=-2>| ERROR </H2>" & vbCrLf
Else
oRS.MoveFirst
EnD if
Thanks!
sSQL = "DECLARE" & vbCr & _
"range_star t DATE;" & vbCr & _
"range_end DATE;" & vbCr & _
"range_day_ end DATE;" & vbCr & _
"sStart VARCHAR2(20);" & vbCr & _
"sEND VARCHAR2(20);" & vbCr & _
"clic_date DATE;" & vbCr & _
"cdef_cnt NUMBER := 0;" & vbCr & _
"cqc_cnt NUMBER := 0;" & vbCr & _
"cbpt_cnt NUMBER := 0;" & vbCr & _
"f_lic_date DATE;" & vbCr & _
"f_def_cnt NUMBER := 0;" & vbCr & _
"f_qc_cnt NUMBER := 0;" & vbCr & _
"f_bpt_cnt NUMBER := 0;" & vbCr & _
"total_def_ cnt NUMBER := 0;" & vbCr & _
"total_qc_c nt NUMBER := 0;" & vbCr & _
"total_bpt_ cnt NUMBER := 0;" & vbCr & _
"CURSOR c1 IS SELECT lic_date INTO clic_date " & vbCr & _
"FROM cust_aggregated _license ; " & vbCr & _
"BEGIN " & vbCr & _
"OPEN c1; " & vbCr & _
" LOOP " & vbCr & _
" FETCH c1 INTO f_lic_date; " & vbCr & _
" EXIT WHEN c1 % NOTFOUND; " & vbCr & _
" END LOOP; " & vbCr & _
"CLOSE c1; " & vbCr & _
"END;"
oRS.CursorLocat ion= 3 'adUseClient
oRS.CursorType = 3
Set oSQL.ActiveConn ection = oConn
oSQL.CommandTex t = sSQL
oRS.Open oSQL ' this code works with simple select stmt
If oRS.State = 0 Then
Response.Write "<H2></td><td><font face=Verdana color=black size=-2>| ERROR </H2>" & vbCrLf
Else
oRS.MoveFirst
EnD if
Thanks!
Comment