home *** CD-ROM | disk | FTP | other *** search
/ Tricks of the Windows Gam…ming Gurus (2nd Edition) / Disc2.iso / msdn_vcb / samples / vc98 / sdk / dbmsg / sql / vbsql / resultsw.bas < prev    next >
Encoding:
BASIC Source File  |  1996-04-03  |  2.3 KB  |  68 lines

  1.  
  2. Sub Process_altrows (Result As Integer, OutputData() As String, outputrowcnt As Integer, colpositions() As Integer)
  3.  
  4. Rem Alternate rows (from COMPUTE clause) only available in VBWin
  5. Rem Get the number of columns in the compute row.
  6. Rem Determine what type of aggregate each column uses
  7. Rem Line up the column in the correct position
  8. Rem Output the row.
  9.  
  10.     OutputData(outputrowcnt%) = " "
  11.     outputrowcnt% = outputrowcnt% + 1
  12.     AltStr1$ = Space$(256)
  13.     AltStr2$ = Space$(256)
  14.     AltStr3$ = Space$(256)
  15.  
  16.     numalts% = SqlNumAlts%(SqlConn, Result%)
  17.     For x% = 1 To numalts%
  18.         altcol% = SqlAltColId%(SqlConn, Result%, x%)
  19.         alttype$ = SQLPRTYPE(SqlAltOp(SqlConn, Result%, x%))
  20.         altvalue$ = SqlAData$(SqlConn, Result%, x%)
  21.  
  22.         Mid$(AltStr1$, colpositions(altcol%), Len(alttype$)) = alttype$
  23.         Mid$(AltStr2$, colpositions(altcol%), Len(alttype$)) = String$(Len(alttype$), "-")
  24.         Mid$(AltStr3$, colpositions(altcol%), Len(altvalue$)) = altvalue$
  25.         
  26.     Next x%
  27.  
  28.     OutputData(outputrowcnt%) = AltStr1$
  29.     outputrowcnt% = outputrowcnt% + 1
  30.     OutputData(outputrowcnt%) = AltStr2$
  31.     outputrowcnt% = outputrowcnt% + 1
  32.     OutputData(outputrowcnt%) = AltStr3$
  33.     outputrowcnt% = outputrowcnt% + 1
  34.     OutputData(outputrowcnt%) = " "
  35.     outputrowcnt% = outputrowcnt% + 1
  36.  
  37.  
  38. End Sub
  39.  
  40. Sub Process_rpc_returns (OutputData() As String, outputrowcnt As Integer)
  41.  
  42. Rem See if there are any return parameters from a stored procedure (available in VBWin only).
  43. Rem Then See if there is a return status
  44.  
  45.     numrets% = SQLNumRets(SqlConn)
  46.     If numrets% <> 0 Then
  47.     OutputData(outputrowcnt%) = " "
  48.     outputrowcnt% = outputrowcnt% + 1
  49.     For i% = 1 To numrets%
  50.         DataStr$ = "NAME: " + SQLRetName(SqlConn, i%)
  51.         DataStr$ = DataStr$ + "  TYPE: " + SQLPRTYPE(SQLRetType(SqlConn, i%))
  52.         DataStr$ = DataStr$ + "  LENGTH: " + Str$(SQLRetLen(SqlConn, i%))
  53.         DataStr$ = DataStr$ + "  VALUE: " + SQLRetData(SqlConn, i%)
  54.         OutputData(outputrowcnt%) = DataStr$
  55.         outputrowcnt% = outputrowcnt% + 1
  56.     Next i%
  57.     End If
  58.  
  59.     If (SQLHasRetStat(SqlConn) = SUCCEED%) Then
  60.     OutputData(outputrowcnt%) = " "
  61.     outputrowcnt% = outputrowcnt% + 1
  62.     OutputData(outputrowcnt%) = "RETURN STATUS: " + Str$(SQLRetStatus(SqlConn))
  63.     outputrowcnt% = outputrowcnt% + 1
  64.     End If
  65.  
  66. End Sub
  67.  
  68.