Ontdek hoe u de meest voorkomende SQL-opdrachten kunt geven met VB.NET.
VB.NET biedt een gestroomlijnde aanpak voor databasebewerkingen, met een robuust raamwerk. Dankzij de kracht ervan kunt u snel en met minimale inspanning relevante informatie verkrijgen.
Bekijk enkele praktische voorbeelden die laten zien hoe u VB.NET kunt gebruiken om SQL-query's uit te voeren, en hoe u ervoor kunt zorgen dat het ophalen van gegevens zowel effectief als efficiënt is.
Uw lokale SQL-server instellen
Begin met het opzetten van een SQL-server om alles stap voor stap te bekijken. In de onderstaande voorbeelden ziet u een Windows-omgeving, maar als u gebruik maakt van een ander besturingssysteem zoals Linux en u een andere SQL-server heeft, hoeft u zich geen zorgen te maken; de algemene logica zal hetzelfde blijven.
Vanwege de eenvoud en nulconfiguratiebenadering is SQLite een uitstekende keuze voor beginners.
Maak vervolgens een nieuwe map om dingen in te stellen open een opdrachtprompt en navigeer ernaartoe. Voer de volgende opdracht uit om een nieuw .NET-project te maken waarin u de VB.NET-taal kunt gebruiken:
dotnet new console -lang VB -o MyVBApp
Je hebt nu een project genaamd MijnVBApp. Ga door met de installatie door het SQLite-pakket in uw VB.NET-project te integreren met behulp van NuGet, een populaire pakketbeheerder voor .NET. Voer deze opdracht uit:
dotnet add package System.Data.SQLite
Nadat u SQLite heeft toegevoegd, kunt u moeiteloos een lokale database opzetten.
Je kunt alle code voor deze voorbeelden vinden in de project's GitHub-opslagplaats.
Download de InitialiseerDatabase.vb bestand uit de repository van het project. Dit specifieke bestand helpt u bij het configureren van uw database. Zoals u in dit bestand kunt zien, zijn er enkele gebruikers en de landen van gebruikers. U kunt deze gebruiken als voorbeelddatabase.
Met de opdracht die u hebt gebruikt om het VB.NET-project te maken, is een bestand gemaakt met de naam Programma.vb. Open dit bestand en update het als volgt:
Module Program
Sub Main(args AsString())
DatabaseInitializer.InitializeDb()
EndSub
EndModule
Voer dit programma uit en je zou moeten zien dat het een bestand aanmaakt met de naam mijndatabase.db. Dit is de eenvoudige database die u in de volgende voorbeelden gaat gebruiken.
Een databaseverbinding tot stand brengen met SQL in VB.NET
Een verbinding tot stand brengen met behulp van SQLite in VB.NET is eenvoudig. Ga door met het bewerken van de Programma.vb bestand en verwijder de bestaande inhoud van de hoofdsubroutine. Dit bestand vormt de kern van het project.
U kunt een verbinding met het databasebestand, mydatabase.db, definiëren met deze coderegel:
Dim connectionString AsString = "Data Source=mydatabase.db; Version=3;"
Databron specificeert de naam van het databasebestand. Als het bestand niet bestaat, zal SQLite een nieuwe database aanmaken wanneer er een verbinding tot stand wordt gebracht.
De volgende stap is het gebruik van de SQLiteVerbinding klasse om een verbindingsinstantie te maken. Je moet altijd een Gebruik makend van blokkeren bij het werken met databaseverbindingen om mogelijke lekken of impasses te voorkomen:
Using conn AsNew SQLiteConnection(connectionString)
conn.Open()
' Database operations go here
EndUsing
Het blok Gebruiken zorgt ervoor dat de verbinding automatisch wordt verbroken wanneer deze tot stand is gebracht.
Uw uiteindelijke Program.vb-bestand zou er ongeveer zo uit moeten zien:
Imports System
Imports System.Data.SQLiteModule Program
Sub Main(args AsString())
Dim connectionString AsString = "Data Source=mydatabase.db; Version=3;"Try
Using conn AsNew SQLiteConnection(connectionString)
conn.Open()
Console.WriteLine("Successfully connected to the database!")
'You can perform database operations here.
EndUsing
Catch ex As SQLiteException
Console.WriteLine("Error: " & ex.Message)
EndTry
EndSub
EndModule
Deze code maakt verbinding met de database mydatabase.db en drukt een bevestigingsbericht af als dit lukt. Als er een fout optreedt, worden de details naar de console afgedrukt.
Gegevens ophalen en in een array laden
De SELECTEERSQL-opdracht is de belangrijkste manier om gegevens uit een SQL-database op te halen. Als je een tabel hebt met de naam Gebruikers in uw database en u wilt de Naam veld uit elk record in die tabel, gebruik SELECT als volgt:
SELECT Name FROM Users
U kunt gegevens uit de database halen en in een array laden door deze query aan het Program.vb-bestand toe te voegen:
Dim query AsString = "SELECT Name FROM Users"
Dim names AsNew List(OfString)()Using conn AsNew SQLiteConnection(connectionString)
conn.Open()Using cmd AsNew SQLiteCommand(query, conn)
Using reader As SQLiteDataReader = cmd.ExecuteReader()
While reader.Read()
names.Add(reader("Name").ToString())
EndWhile
EndUsing
EndUsing
EndUsing' Now the 'names' list is full of users' names.
' You can convert this list to an array if you want:
Dim namesArray() AsString = names.ToArray()
' Print array content for testing purposes
ForEach name In namesArray
Console.WriteLine(name)
Next
U ziet een lijst met namen op de console, die overeenkomt met de inhoud van uw databasetabel:
Deze code laadt de gegevens in een Lijst structuur, die een dynamische grootte heeft, voordat deze na voltooiing naar een array wordt geconverteerd. Deze aanpak is erg handig in situaties waarin u van tevoren niet weet hoeveel records u gaat ophalen.
Hoe u INSERT gebruikt om gegevens aan een database toe te voegen
U kunt gebruik maken van de INVOEREN opdracht om nieuwe gegevens aan een database toe te voegen. Denk bijvoorbeeld aan de Gebruikers tabel met twee kolommen met de naam Naam En Land.
De standaard SQL-query die u kunt gebruiken om een nieuwe gebruiker toe te voegen, is:
INSERT INTO Users (Name, Country) VALUES ('Fatih', 'TR')
Als u met deze query een nieuwe gebruiker aan de database wilt toevoegen, werkt u het bestand Program.vb als volgt bij:
Dim query AsString = $"INSERT INTO Users (Name, Country) VALUES ('{name}', '{country}')"
Using conn AsNew SQLiteConnection(connectionString)
conn.Open()Using cmd AsNew SQLiteCommand(query, conn)
cmd.ExecuteNonQuery()
EndUsing
EndUsing
Console.WriteLine($"{name} has been successfully added to the database!")
Dit eenvoudige voorbeeld maakt gebruik van stringinterpolatie om de query op te bouwen, maar u moet dit vermijden in productiecode, aangezien dit zo is kwetsbaar voor SQL-injectie. Het alternatief zijn geparametriseerde queries die databasebewerkingen veiliger en efficiënter maken.
Geparametriseerde query's gebruiken tijdelijke aanduidingen, in plaats van directe tekenreeksaaneenschakeling, om waarden toe te voegen aan SQL-query's. Met deze aanpak kunt u veel beveiligingsbedreigingen vermijden:
Dim query AsString = "INSERT INTO Users (Name, Country) VALUES (@Name, @Country)"
'...
cmd.Parameters.AddWithValue("@Name", userName)
cmd.Parameters.AddWithValue("@Country", userCountry)
Nog andere tips voor het werken met een database vanuit VB.Net
Databasebewerkingen in VB.NET lijken in eerste instantie misschien lastig, maar met een paar richtlijnen kunt u de basisbeginselen gemakkelijk onder de knie krijgen.
- Gebruik geparametriseerde zoekopdrachten om beveiligingsproblemen te voorkomen.
- Sluit altijd uw databaseverbinding wanneer u klaar bent met het ophalen of bijwerken van gegevens.
- Onderhoud uw database om de structuur ervan te optimaliseren naarmate uw datamodel in de loop van de tijd verandert.
- Vergeet niet om reservekopieën te maken voor geval van nood.
Zoals elke technologie evolueren databases. Software wordt bijgewerkt, er ontstaan nieuwe tools en we ontdekken betere manieren om dingen te doen. Het is een goed idee om op de hoogte te blijven en op de hoogte te blijven. Sommige tools fungeren als tussenpersoon, zoals Entiteitsframework, waardoor het eenvoudiger wordt om databasegerelateerde code te schrijven.
Hoe u uw VB.NET-reis verder kunt brengen
VB.NET, met zijn diepgewortelde verbinding met het Microsoft-ecosysteem, is zowel robuust als gebruiksvriendelijk. Om de kracht ervan echt te begrijpen, begint u met de officiële documentatie van Microsoft. Van daaruit kunt u online cursussen, forums en communities verkennen, waar ervaren ontwikkelaars hun kennis en inzichten delen.
Bedenk dat elke expert ooit een beginner was. Met consistente inspanning, nieuwsgierigheid en de juiste hulpmiddelen zult u snel merken dat u met vertrouwen en gemak door VB.NET navigeert. Naarmate je verder komt, aarzel dan niet om te experimenteren, vragen te stellen en, belangrijker nog, te genieten van het ontdekkingsproces.