VERSION 2.00
Begin Form PrimaryWindow
BackColor = &H00808000&
Caption = "VBSQL Sample Query Tool - [No Server]"
ForeColor = &H00000000&
Height = 6120
Left = 240
ScaleHeight = 5430
ScaleWidth = 8760
Top = 660
Width = 8880
Begin VBSQL VBSQL1
Caption = "Errors"
Height = 375
Left = 2640
Top = 0
Visible = 0 'False
Width = 1815
End
Begin CommandButton SEND_QUERY_BUTTON
BackColor = &H00C0C0C0&
Caption = "&Send Query"
Enabled = 0 'False
Height = 480
Left = 7080
TabIndex = 5
Top = 960
Width = 1440
End
Begin CommandButton NEW_QUERY_BUTTON
BackColor = &H00C0C0C0&
Caption = "&New Query"
Enabled = 0 'False
Height = 480
Left = 7080
TabIndex = 4
Top = 240
Width = 1440
End
Begin TextBox RESULT_FIELD
BackColor = &H00FFFFFF&
FontBold = -1 'True
FontItalic = 0 'False
FontName = "Courier"
FontSize = 9.75
FontStrikethru = 0 'False
FontUnderline = 0 'False
ForeColor = &H00000000&
Height = 3120
Left = 120
MultiLine = -1 'True
ScrollBars = 3 'Both
TabIndex = 3
Top = 1920
Width = 8520
End
Begin TextBox QUERY_FIELD
BackColor = &H00FFFFFF&
ForeColor = &H00000000&
Height = 960
Left = 120
MultiLine = -1 'True
ScrollBars = 3 'Both
TabIndex = 1
Top = 480
Width = 6480
End
Begin Label Label2
BackColor = &H00808000&
Caption = "&Results:"
ForeColor = &H00000000&
Height = 240
Left = 120
TabIndex = 2
Top = 1680
Width = 720
End
Begin Label Label1
BackColor = &H00808000&
Caption = "&Query:"
ForeColor = &H00000000&
Height = 240
Left = 120
TabIndex = 0
Top = 240
Width = 720
End
Begin Menu CONNECT_MENU
Caption = "&Connection"
Begin Menu LOGIN_MENU
Caption = "&Login"
End
Begin Menu DATABASE_MENU
Caption = "Change &Database"
End
Begin Menu EXIT_MENU
Caption = "E&xit"
End
End
Begin Menu HELP_MENU
Caption = "&Help"
Begin Menu ABOUT_MENU
Caption = "&About..."
End
End
End
'$INCLUDE: 'VBQUERY.BI'
'$INCLUDE: 'VBDSQL.BI'
Sub ABOUT_MENU_Click ()
About_Form.Show 1
End Sub
Sub ClearFields ()
QUERY_FIELD.Text = ""
RESULT_FIELD.Text = ""
End Sub
Sub DATABASE_MENU_Click ()
If SqlConn = 0 Then
MsgBox "Must login first"
Exit Sub
End If
CHNGDB.Show 1
End Sub
Sub EXIT_MENU_Click ()
ExitApplication
End Sub
Sub Form_Load ()
Rem
Rem Initialize the connection to SQL Server
Rem
InitializeApplication
MsgBox DBLIB_VERSION$
PrimaryWindowTitle = "VBSQL Sample Query Tool"
End Sub
Sub LOGIN_MENU_Click ()
Login.Show 1
NEW_QUERY_BUTTON.Enabled = -1
SEND_QUERY_BUTTON.Enabled = -1
End Sub
Sub NEW_QUERY_BUTTON_Click ()
ClearFields
QUERY_FIELD.SetFocus
End Sub
Sub SEND_QUERY_BUTTON_Click ()
On Error GoTo OutofRoom
Static OutputData() As String
ReDim Preserve OutputData(500) As String
Rem
Rem Get the query. Make sure there is one
Rem
CRLF$ = Chr$(13) + Chr$(10)
cmd$ = QUERY_FIELD.Text
If cmd$ = "" Then
MsgBox "There is no query in the Query field"
Exit Sub
End If
Rem
Rem Clear the result array, and result controls first
Rem
i% = 0
For i% = 0 To 499
OutputData(i%) = ""
Next
Rem
Rem Fill the result array with the data
Rem Fill the results field
Rem
RESULT_FIELD.Text = ""
numrows& = Process_SQL_query(cmd$, OutputData())
'fill temporary string first, to avoid flashing with every row
For i% = 0 To numrows& - 1
DataLine$ = DataLine$ + OutputData(i%) + CRLF$
Next i%
RESULT_FIELD.Text = DataLine$
QUERY_FIELD.SetFocus
Exit Sub
OutofRoom:
'can run out of space filling strings. If so, try just 20 rows
DataLine$ = ""
If numrows& > 20 Then
numrows& = 20
For i% = 0 To numrows& - 1
DataLine$ = DataLine$ + OutputData(i%) + CRLF$
Next i%
RESULT_FIELD.Text = DataLine$
End If
MsgBox "Out of room, output truncated"
QUERY_FIELD.SetFocus
Exit Sub
End Sub
Sub VBSQL1_Error (SqlConn As Integer, Severity As Integer, ErrorNum As Integer, ErrorStr As String, RetCode As Integer)
' Call the required VBSQL error-handling function
' OSErr and OSErrStr not used in VBSQL for Windows, but DOS interprets
' anything other than -1 as an OS error
OsErr% = -1
RetCode% = UserSqlErrorHandler%(SqlConn, Severity%, ErrorNum%, OsErr%, ErrorStr$, OsErrStr$)
End Sub
Sub VBSQL1_Message (SqlConn As Integer, Message As Long, State As Integer, Severity As Integer, MsgStr As String)
UserSqlMsgHandler SqlConn, Message&, State%, Severity%, MsgStr$
End Sub