Hola Jose Camilo
Te conectas al inicio y heredas la conexion en las ventanas
Bueno complementando a lo expuesto por Bernardo
Te comento, yo trabajo normalmente con Mysql Server, pero pude realizar unas consultas de tablas en SQL Server 2005 cuando lo necesitaba.
Para acceder a Ms SQL Server desde Xojo, es requisito que tenga el SQL Server Native Client por lo menos en su versin 11.0, porque versiones anteriores es como que no lo reconoce,me llevo un poco de tiempo en determinar el problema que se me presentaba y no lo reconoca a pesar que tenia instalado el SQL Server Native client pero en verision anterior al 11.0
Si deseas llevando la estructura de la aplicacion EEDesktop le echas un vistazo si lo requieres (C:\Program Files (x86)\Xojo\Xojo 2016r2.1\Example Projects\Sample Applications\EddiesElectronics)
Realizas lo siguiente:
Seleccionas App y desde el Menu- Insert- Folder, una vez insertado le cambias el nombre a DATABASE o el nombre mas apropiado para ti
Seleccionas la carpeta insertada y desde el Menu-Insert-Class, una vez insertado le cambias el nombre como puede ser classDBSqlServer u otro nombre mas apropiado
en SUPER seleccionas MSSQLServerDatabase
En App creas una propiedad con nombre digamos pDB y de tipo classDBSqlserver
a classDBSqlServer le adiconas un Shared Method (Metodo compartido) que le das un nombre como este: SetupNuevaBD con return de tipo boolean
y dentro del metodo SetupNuevaBD
defines tu codigo que puede ser:
Dim conectado As Boolean
App.pDb = New classDBSqlServer
App.pDb.Host=“MiHost”
App.pDb.UserName = “sa”
App.pDb.Password = “tupassword”
App.pDb.DatabaseName = “basededatos”
If App.pDb.Connect Then
conectado= True
MsgBox(“Conexion Satisfactoria a SQL Server”)
Else
conectado = False
MsgBox("Error al conectar a Motor Sql Server "+ App.pDb.ErrorMessage)
End If
Return conectado
a ClassDBSqlServer le adicionas los metodos que quieras y uno de ellos pueden ser ProcesaCons con parameters de entrada: sql As string y return type RecordSet, y el cdigo puede ser el siguiente:
'ProcesaCons realiza Select de cualquier tipo
Dim stmt As PreparedSQLStatement
stmt=Self.Prepare(sql)
Dim rs As RecordSet =stmt.SQLSelect
If Self.Error Then
MsgBox “Error: No se pudo relizar la consulta”
End If
return rs
En App agregas el evento (Event Handlers) open si no lo tienes agregado
y el codigo puede ser el siguiente:
If app.pdb.SetupNuevaBD then
contrasea.ShowModal
Else
Quit
End If
y un Pushbutton en el evento action en una ventana puedes poner el siguiente cdigo para probar una consulta
Dim sql as string=“SELECT codigo,nombre FROM nombres”
Dim rs As RecordSet=app.pDb.ProcesaCons(sql)
if rs.RecordCount > 0 Then
MsgBox "nombre "+rs.Field(“nombre”).StringValue
End If
Ojala esto te sirva de algo
Cordialmente,
Raul