Connexió a una base de dades SqlServer amb VB.net

Amb aquest post explicaré com realitzar una connexió a una base de dades SqlServer amb VB.net mitjançant OLEDB.

Base de dades SqlServer

Microsoft SQL Server és un sistema per a la gestió de bases de dades produït per Microsoft basat en el model relacional. Microsoft SQL Server constitueix l’alternativa de Microsoft a altres potents sistemes gestors de bases de dades com són Oracle, PostgreSQL o MySQL.

Per poder realitzar una connexió des VB.net, hem de preparar la base de dades amb un usuari i contrasenya i assignar els privilegis necessaris. Des de “SQL Server Management Studio” podem realitzar aquesta tasca d’una manera fàcil i senzilla.

Obrim “SQL Server Management Studio” i una vegada connectat al servidor afegim un nou inici de sessió, utilitzem la “Autenticació de SqlServer”, sobre la base de dades per defecte seleccionem la base de dades que vulguem connectar, també definim els permisos a la base de dades que utilitzarem en la connexió:

sqlserver-nuevo-inicio-sesion

Afegim un nou inici de sessió

permisos-base-datos-sqlserver

Definim els permisos que tindrà el nou usuari sobre la base de dades

Un cop acceptats els canvis ja tindrem llest el nou usuari per realitzar la connexió a la base de dades.

Connexió a una base de dades SqlServer amb VB.net

En primer lloc hem de realitzar les importacions de les classes que necessitem per fer la connexió a una base de dades SqlServer amb VB.net:

Imports System.Data
Imports System.Data.OleDb
Imports System.Data.SqlClient

Definim la connexió a la base de dades amb el nom del servidor, la base de dades i el usuari i la contrasenya que hem definit en SQLServer:

myConnectionString = "Provider=sqloledb;" & _
                     "Data Source=localhost;" & _
                     "Initial Catalog=bd-gaSQL;" & _
                     "User Id=UserPrueva;Password=contraseñaPrueva"

Anem a fer una consulta a la base de dades mitjançant un “Select”, la lectura de les dades de la consulta els llegim amb el OleDbDataReader:

        Try
            Dim s As String = ("SELECT * FROM Alumnes")
            connexio = New OleDbConnection(myConnectionString)
            myCommand = New OleDbCommand(s)
            myCommand.Connection = connexio
            connexio.Open()
            Dim myReader As OleDbDataReader = myCommand.ExecuteReader()
            While myReader.Read()
                Dim NOM As String = myReader("NOM")
                Dim COGNOM As String = myReader("COGNOM")
            End While
        Catch exc As Exception
            Throw New GestorExcepcio(exc.Message)
        End Try

Per afegir un nou registre ho podem fer mitjançant “Insert”:

        Try
            Dim sent As String = ("INSERT INTO Alumnes VALUES ('JORDI','NAVES')")
            Dim connexio As New OleDbConnection(myConnectionString)
            myCommand = New OleDbCommand(sent)
            myCommand.Connection = connexio
            connexio.Open()
            myCommand.ExecuteNonQuery()
            connexio.Close()
        Catch exc As Exception
            Throw New GestorExcepcio(exc.Message)
        End Try

I finalment per modificar un registre mitjançant un “update”:

        Try
            Dim s As String = ("UPDATE Alumnes SET nom='JORDI' Where id=1")
            connexio = New OleDbConnection(myConnectionString)
            myCommand = New OleDbCommand(s)
            myCommand.Connection = connexio
            connexio.Open()
            myCommand.ExecuteNonQuery()
            connexio.Close()
        Catch exc As Exception
            Throw New GestorExcepcio(exc.Message)
        End Try

En conclusió, una manera molt senzilla d’establir una comunicació entre SqlServer i Vb.net d’una manera ràpida i eficaç-

Leave a Reply