SQLRequest (function)

Syntax

SQLRequest(connection$,query$,array [,[output$] [,[prompt][,isColumnNames]]])

Description

Opens a connection, runs a query, and returns the results as an array.

Comments

The SQLRequest function takes the following parameters:

 

Parameter

Description

 

connection

String specifying the connection information required to connect to the data source.

 

query

String specifying the query to execute. The syntax of this string must strictly follow the syntax of the ODBC driver.

 

array

Array of variants to be filled with the results of the query.

The array parameter must be dynamic: it will be resized to hold the exact number of records and fields.

 

output

Optional String to receive the completed connection string as returned by the driver.

 

prompt

Optional Integer specifying the behavior of the driver's dialog box.

 

isColumnNames

Optional Boolean specifying whether the column names are returned as the first row of results. The default is False.

 

The Basic Control Engine generates a runtime error if SQLRequest fails. Additional error information can then be retrieved using the SQLError function.

The SQLRequest function performs one of the following actions, depending on the type of query being performed:

 

Type of Query

Action

 

SELECT

The SQLRequest function fills array with the results of the query, returning a Long containing the number of results placed in the array. The array is filled as follows (assuming an x by y query):

 

 

  (record 1,field 1)
  (record 1,field 2)
    :
  (record 1,field y)
  (record 2,field 1)
  (record 2,field 2)
    :
  (record 2,field y)
    :
    :
  (record x,field 1)
  (record x,field 2)
    :
  (record x,field y)

 

INSERT, DELETE, UPDATE

The SQLRequest function erases array and returns a Long containing the number of affected rows.

Example

 

This example opens a data source, runs a select query on it, and then displays all the data found in the result set.

Sub Main()
  Dim a() As Variant
  l& = SQLRequest("dsn=SAMPLE;","Select * From c:\sample.dbf",a,,3,True)
  For x = 0 To Ubound(a)
    For y = 0 To l - 1
      MsgBox a(x,y)
    Next y
  Next x
End Sub

 

 

 

 

More information

S