Platforms to show: All Mac Windows Linux Cross-Platform
/SQL/Microsoft SQL Stored Procedure
Required plugins for this example: MBS SQL Plugin
You find this example project in your Plugins Download as a Xojo project file within the examples folder: /SQL/Microsoft SQL Stored Procedure
This example is the version from Mon, 7th Oct 2018.
Project "Microsoft SQL Stored Procedure.xojo_binary_project"
Class App Inherits Application
Const kEditClear = "&Löschen"
Const kFileQuit = "Beenden"
Const kFileQuitShortcut = ""
End Class
Class Window1 Inherits Window
Control server Inherits TextField
ControlInstance server Inherits TextField
End Control
Control StaticText1 Inherits Label
ControlInstance StaticText1 Inherits Label
End Control
Control PushButton1 Inherits PushButton
ControlInstance PushButton1 Inherits PushButton
EventHandler Sub Action()
dim con as new SQLConnectionMBS
// connects to Microsoft SQL Server on Windows
//
// e.g. localhost\SQLEXPRESS@test
try
// connect to database
// in this example it is Microsoft SQL Server,
// but can also be Sybase, Informix, DB2
// Oracle, InterBase, SQLBase and ODBC
con.Option("OLEDBProvider") = "SQLNCLI" // SQLNCLI for SQL Server 2005, SQLNCLI10 for newer version.
'con.Option("UseAPI") = "DB-Library"
// server format should be:
// PcName\SqlServerInstanceName@DatabaseName
con.Connect(server.text,user.text,password.text,SQLConnectionMBS.kSQLServerClient)
con.Scrollable = false // disabling scrolling cursors is much faster for Microsoft SQL Server...
TestStoredProcedure con
catch r as RuntimeException
MsgBox r.message
// SAConnection::Rollback()
// can also throw an exception
// (if a network error for example),
// we will be ready
try
// on error rollback changes
con.Rollback
catch rr as runtimeexception
MsgBox rr.message
end try
end try
End EventHandler
End Control
Control user Inherits TextField
ControlInstance user Inherits TextField
End Control
Control StaticText2 Inherits Label
ControlInstance StaticText2 Inherits Label
End Control
Control password Inherits TextField
ControlInstance password Inherits TextField
End Control
Control StaticText3 Inherits Label
ControlInstance StaticText3 Inherits Label
End Control
Control StaticText4 Inherits Label
ControlInstance StaticText4 Inherits Label
End Control
Sub TestStoredProcedure(con as SQLConnectionMBS)
// the stored procedure on the server
'CREATE PROC PR_DUMMY
'@ret_val INT OUTPUT
'AS
'SET NOCOUNT ON
'SET @ret_val = 9999
'SELECT 1
'return 1111
// create new command with just name of stored procedure
dim cmd as new SQLCommandMBS(con, "PR_DUMMY")
// query parameters from server
cmd.prepare
// set an input parameter if needed
'cmd.Param("test").setAsLong 1234
cmd.Execute
dim x as integer = cmd.RowsAffected
// get all result sets
while cmd.isResultSet
// get next record
while cmd.FetchNext
// process record
wend
wend
// get output parameter
dim pVal as integer = cmd.Param("ret_val").asLong
// get return value
dim retVal as integer = cmd.Param("RETURN_VALUE").asLong
Break // check values
End Sub
End Class
MenuBar MenuBar1
MenuItem FileMenu = "&Ablage"
MenuItem FileQuit = "#App.kFileQuit"
MenuItem EditMenu = "&Bearbeiten"
MenuItem EditUndo = "&Rückgängig"
MenuItem UntitledMenu1 = "-"
MenuItem EditCut = "&Ausschneiden"
MenuItem EditCopy = "&Kopieren"
MenuItem EditPaste = "&Einfügen"
MenuItem EditClear = "#App.kEditClear"
MenuItem UntitledMenu0 = "-"
MenuItem EditSelectAll = "&Alles auswählen"
End MenuBar
End Project
See also:
The items on this page are in the following plugins: MBS SQL Plugin.