C# Databaseverbinding: verbinding maken met SQL Server (voorbeeld)
Het kan met verschillende soorten databases werken. Het kan werken met de meest voorkomende databases zoals Oracle en Microsoft SQL Server.
Het kan ook werken met nieuwe vormen van databases zoals MongoDB en MySQL.
Grondbeginselen van databaseconnectiviteit
C# en .Net kunnen met de meeste databases werken, waarvan de meest voorkomende Oracle en Microsoft SQL Server. Maar bij elke database is de logica achter het werken met alle databases grotendeels hetzelfde.
In onze voorbeelden zullen we kijken naar het werken met de Microsoft SQL Server als onze databank. Voor leerdoeleinden kan men de Microsoft SQL Server Express-editie, een gratis databasesoftware geleverd door Microsoft.
Bij het werken met databases zijn de volgende concepten voor alle databases van toepassing.
- Aansluiting – Om met de gegevens in een database te werken, is de eerste voor de hand liggende stap de verbinding. De verbinding met een database bestaat normaal gesproken uit de onderstaande parameters.
- Databasenaam of gegevensbron – De eerste belangrijke parameter is de databasenaam waarmee de verbinding tot stand moet worden gebracht. Elke verbinding kan slechts met één database tegelijk werken.
- Geloofsbrieven – Het volgende belangrijke aspect zijn de gebruikersnaam en het wachtwoord die moeten worden gebruikt om een verbinding met de database tot stand te brengen. Het zorgt ervoor dat de gebruikersnaam en het wachtwoord de nodige rechten hebben om verbinding te maken met de database.
- Optionele parameters – Voor elk databasetype kunt u optionele parameters opgeven om meer informatie te geven over hoe .net de verbinding met de database moet afhandelen. U kunt bijvoorbeeld een parameter opgeven voor hoe lang de verbinding actief moet blijven. Als er gedurende een bepaalde periode geen bewerking wordt uitgevoerd, bepaalt de parameter of de verbinding moet worden gesloten.
- Gegevens uit de database selecteren – Zodra de verbinding tot stand is gebracht, is het volgende belangrijke aspect het ophalen van de gegevens uit de database. C# kan de 'SQL'-selectieopdracht uitvoeren op de database. De 'SQL'-instructie kan worden gebruikt om gegevens uit een specifieke tabel in de database op te halen.
- Gegevens in de database invoeren – C# kan ook worden gebruikt om records in de database in te voegen. Waarden kunnen in C# worden opgegeven voor elke rij die in de database moet worden ingevoegd.
- Gegevens bijwerken in de database – C# kan ook worden gebruikt om bestaande records in de database bij te werken. Nieuwe waarden kunnen in C# worden opgegeven voor elke rij die in de database moet worden bijgewerkt.
- Gegevens uit een database verwijderen – C# kan ook worden gebruikt om records in de database te verwijderen. Selectieopdrachten om aan te geven welke rijen moeten worden verwijderd, kunnen worden opgegeven in C#.
Oké, nu we de theorie achter elke bewerking hebben gezien, gaan we naar de volgende secties om te kijken hoe we databasebewerkingen in C# kunnen uitvoeren.
SQL-opdracht in c#
SQLCommand in C# staat de gebruiker toe de opdrachten op te vragen en naar de database te verzenden. De SQL-opdracht wordt gespecificeerd door het SQL-verbindingsobject. Er worden twee methoden gebruikt: de ExecuteReader-methode voor de resultaten van de query en de ExecuteNonQuery voor de opdrachten voor invoegen, bijwerken en verwijderen. Het is de methode die het beste is voor de verschillende opdrachten.
Hoe C# met Database te verbinden
Laten we nu naar de code kijken, die op zijn plaats moet blijven om een verbinding met een database tot stand te brengen. In ons voorbeeld maken we verbinding met een database met de naam Demodb. Hieronder vindt u de inloggegevens die worden gebruikt om verbinding te maken met de database
- Gebruikersnaam – sa
- Wachtwoord – demo123
We zullen een simpele zien Windows formulieren aanvraag om met databanken te werken. We zullen een eenvoudige knop hebben genaamd "Verbinden" die zal worden gebruikt om verbinding te maken met de database.
Laten we daarom de onderstaande stappen volgen om dit te bereiken
Stap 1) De eerste stap omvat het maken van een nieuw project in Visual Studio. Nadat u Visual Studio hebt gestart, moet u de menuoptie Nieuw->Project kiezen.
Stap 2) De volgende stap is het kiezen van het projecttype als Windows Formulieren aanvraag. Hier moeten we ook de naam en locatie van ons project vermelden.
- In het projectdialoogvenster kunnen we verschillende opties zien voor het maken van verschillende typen projecten in Visual Studio. Klik op de Windows optie aan de linkerkant.
- Wanneer we op de klikken Windows opties in de vorige stap, zullen we een optie kunnen zien voor Windows Formulieren aanvraag. Klik op deze optie.
- Vervolgens geven we een naam voor de applicatie, in ons geval “DemoApplication”. We moeten ook een locatie bieden om onze applicatie op te slaan.
- Ten slotte klikken we op de knop 'OK' om Visual Studio ons project te laten maken.
Stap 3) Voeg nu een knop uit de gereedschapskist toe aan de Windows formulier. Zet de teksteigenschap van de knop als Connect. Dit is hoe het eruit zal zien
Stap 4) Dubbelklik nu op het formulier zodat een event handler wordt toegevoegd aan de code voor de button click event. Voeg in de event handler de onderstaande code toe.
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Data.SqlClient; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; namespace DemoApplication1 { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { string connetionString; SqlConnection cnn; connetionString = @"Data Source=WIN-50GP30FGO75;Initial Catalog=Demodb;User ID=sa;Password=demol23"; cnn = new SqlConnection(connetionString); cnn.Open(); MessageBox.Show("Connection Open !"); cnn.Close(); } } }
Code-uitleg: -
- De eerste stap is het maken van variabelen, die zullen worden gebruikt om de verbindingsreeks en de verbinding met de SQL Server-database te maken.
- De volgende stap is het maken van de verbindingsreeks. De verbindingsreeks moet correct worden gespecificeerd zodat C# de verbindingsreeks begrijpt. De verbindingsreeks bestaat uit de volgende onderdelen
- Gegevensbron – Dit is de naam van de server waarop de database zich bevindt. In ons geval bevindt het zich op een machine genaamd WIN-50GP30FGO75.
- De initiële catalogus wordt gebruikt om de naam van de database op te geven
- De gebruikers-ID en het wachtwoord zijn de referenties die nodig zijn om verbinding te maken met de database.
- Vervolgens wijzen we de verbindende string toe aan de variabele cnn. De variabele cnn, van het type SqlConnection, wordt gebruikt om de verbinding met de database tot stand te brengen.
- Vervolgens gebruiken we de Open-methode van de cnn-variabele om een verbinding met de database te openen. We geven dan gewoon een bericht aan de gebruiker weer dat de verbinding tot stand is gebracht.
- Zodra de bewerking succesvol is voltooid, sluiten we de verbinding met de database. Het is altijd een goede gewoonte om de verbinding met de database te sluiten als er niets anders op de database hoeft te worden gedaan.
Wanneer de bovenstaande code is ingesteld en het project wordt uitgevoerd met Visual Studio, krijgt u de onderstaande uitvoer. Zodra het formulier wordt weergegeven, klikt u op de knop Verbinden.
Uitgang: -
Wanneer u op de knop "connect" klikt, kunt u in de uitvoer zien dat de databaseverbinding tot stand is gebracht. Daarom werd het berichtenvak weergegeven.
Toegang tot gegevens met de SqlDataReader
Om te laten zien hoe u met C# toegang krijgt tot gegevens, gaan we ervan uit dat we de volgende artefacten in onze database hebben.
- Een tabel genaamd demotb. Deze tabel wordt gebruikt om de ID en namen van verschillende tutorials op te slaan.
- De tabel heeft twee kolommen, één met de naam 'TutorialID' en de andere met de naam 'TutorialName'.
- Op dit moment heeft de tabel twee rijen, zoals hieronder weergegeven.
Tutorial-ID | Naam van zelfstudie |
---|---|
1 | C# |
2 | ASP.Net |
Laten we de code in ons formulier wijzigen, zodat we deze gegevens kunnen opvragen en de informatie via een Messagebox kunnen weergeven. Let op dat alle onderstaande code een voortzetting is van de code die in de vorige sectie is geschreven voor de gegevensverbinding.
Stap 1) Laten we de code in twee delen splitsen, zodat deze voor de gebruiker gemakkelijk te begrijpen is.
- De eerste zal zijn het construeren van onze “select” -instructie, die zal worden gebruikt om de gegevens uit de database te lezen.
- Vervolgens voeren we de “select”-instructie uit op de database en halen we alle tabelrijen dienovereenkomstig op.
Code-uitleg: -
- De eerste stap is het creëren van de volgende variabelen
- SQLCommand – De 'SQLCommand' is een klasse die is gedefinieerd binnen C#. Deze klasse wordt gebruikt om bewerkingen uit te voeren van lezen en schrijven in de database. De eerste stap is dus om ervoor te zorgen dat we een variabeletype van deze klasse maken. Deze variabele wordt vervolgens gebruikt in de volgende stappen van het lezen van gegevens uit onze database.
- Het DataReader-object wordt gebruikt om alle gegevens op te halen die zijn opgegeven door de SQL-query. Vervolgens kunnen we alle tabelrijen één voor één lezen met behulp van de datalezer.
- Vervolgens definiëren we twee stringvariabelen, één is “SQL” om onze SQL-opdrachtreeks te bewaren. De volgende is de "Uitvoer" die alle tabelwaarden zal bevatten.
- De volgende stap is het definiëren van de SQL-instructie, die voor onze database zal worden gebruikt. In ons geval is dit “Selecteer TutorialID, TutorialName uit demotb”. Hiermee worden alle rijen uit de tabel demotb opgehaald.
- Vervolgens maken we het opdrachtobject dat wordt gebruikt om de SQL-instructie op de database uit te voeren. In de SQL-opdracht moet u het verbindingsobject en de SQL-string doorgeven.
- Vervolgens zullen we de opdracht data reader uitvoeren, die alle rijen uit de demotb-tabel ophaalt.
- Nu we alle rijen van de tabel bij ons hebben, hebben we een mechanisme nodig om de rij één voor één te openen. Hiervoor gebruiken we het while-statement. De while-instructie wordt gebruikt om één voor één toegang te krijgen tot de rijen van de gegevenslezer. Vervolgens gebruiken we de GetValue-methode om de waarde van TutorialID en TutorialName op te halen.
Stap 2) In de laatste stap tonen we de uitvoer aan de gebruiker en sluiten we alle objecten die verband houden met de databasebewerking.
Code-uitleg: -
- We gaan door met onze code door de waarde van de uitvoervariabele weer te geven met behulp van het berichtBox. De Output-variabele bevat alle waarden uit de demotb-tabel.
- We sluiten uiteindelijk alle objecten die gerelateerd zijn aan onze databasebewerking. Onthoud dat dit altijd een goede gewoonte is.
Wanneer de bovenstaande code is ingesteld en het project wordt uitgevoerd met Visual Studio, krijgt u de onderstaande uitvoer. Zodra het formulier wordt weergegeven, klikt u op de knop Verbinden.
Uitgang: -
Uit de uitvoer kunt u duidelijk zien dat het programma de waarden uit de database heeft kunnen halen. De gegevens worden vervolgens weergegeven in het berichtenvak.
C# in database invoegen
Net als toegang tot gegevens heeft C# ook de mogelijkheid om records in de database in te voegen. Om te laten zien hoe u records in onze database kunt invoegen, nemen we dezelfde tabelstructuur als hierboven.
Tutorial-ID | Naam van zelfstudie |
---|---|
1 | C# |
2 | ASP.Net |
Laten we de code in ons formulier wijzigen, zodat we de volgende rij in de tabel kunnen invoegen
Tutorial-ID | Naam van zelfstudie |
---|---|
3 | VB.Net |
Laten we de volgende code toevoegen aan ons programma. Het onderstaande codefragment wordt gebruikt om een bestaand record in onze database in te voegen.
Code-uitleg: -
- De eerste stap is het creëren van de volgende variabelen
- SQLCommand – Dit gegevenstype wordt gebruikt om objecten te definiëren die worden gebruikt om SQL-bewerkingen uit te voeren op een database. Dit object bevat de SQL-opdracht die wordt uitgevoerd op onze SQL Server-database.
- Het DataAdapter-object wordt gebruikt om specifieke SQL-bewerkingen uit te voeren, zoals invoeg-, verwijder- en update-opdrachten.
- Vervolgens definiëren we een stringvariabele, namelijk “SQL”, waarin onze SQL-opdrachtreeks wordt opgeslagen.
- De volgende stap is het daadwerkelijk definiëren van de SQL-instructie die voor onze database zal worden gebruikt. In ons geval geven we een insert-instructie af, die het record TutorialID=1 en TutorialName=VB.Net invoegt
- Vervolgens maken we het opdrachtobject dat wordt gebruikt om de SQL-instructie op de database uit te voeren. In de SQL-opdracht moet u het verbindingsobject en de SQL-string doorgeven
- In onze data adapter opdracht associëren we nu de insert SQL opdracht met onze adapter. We geven dan ook de ExecuteNonQuery methode uit die wordt gebruikt om de Insert statement uit te voeren op onze database. De 'ExecuteNonQuery' methode wordt in C# gebruikt om DML statements uit te geven op de database. Met DML statements bedoelen we de insert, delete en update operatie. In C# moet u de ExecuteNonQuery methode gebruiken als u een van deze statements wilt uitgeven op een tabel.
- We sluiten uiteindelijk alle objecten die gerelateerd zijn aan onze databasebewerking. Onthoud dat dit altijd een goede gewoonte is.
Wanneer de bovenstaande code is ingesteld en het project wordt uitgevoerd met Visual Studio, krijgt u de onderstaande uitvoer. Zodra het formulier wordt weergegeven, klikt u op de knop Verbinden.
Uitgang: -
Als u naar SQL Server Express gaat en de rijen in de demotb-tabel ziet, ziet u de rij ingevoegd zoals hieronder weergegeven
C#-database bijwerken
Net als toegang tot gegevens heeft C# ook de mogelijkheid om bestaande records uit de database bij te werken. Om te laten zien hoe records in onze database kunnen worden bijgewerkt, nemen we dezelfde tabelstructuur als hierboven.
Tutorial-ID | Naam van zelfstudie |
---|---|
1 | C# |
2 | ASP.Net |
3 | VB.Net |
Laten we de code in ons formulier wijzigen, zodat we de volgende rij kunnen updaten. De oude rijwaarde is TutorialID als "3" en Tutorial Name als "VB.Net". Die updaten we naar "VB.Net complete", terwijl de rijwaarde voor Tutorial ID hetzelfde blijft.
Oude rij
Tutorial-ID | Naam van zelfstudie |
---|---|
3 | VB.Net |
Nieuwe rij
Tutorial-ID | Naam van zelfstudie |
---|---|
3 | VB.Net voltooid |
Laten we de volgende code toevoegen aan ons programma. Het onderstaande codefragment wordt gebruikt om een bestaand record in onze database bij te werken.
C# SqlCommand-voorbeeld met code-uitleg: -
- De eerste stap is het creëren van de volgende variabelen
- SQLCommand – Dit gegevenstype wordt gebruikt om objecten te definiëren die worden gebruikt om SQL-bewerkingen uit te voeren op een database. Dit object bevat de SQL-opdracht die wordt uitgevoerd op onze SQL Server-database.
- Het dataadapter-object wordt gebruikt om specifieke SQL-bewerkingen uit te voeren, zoals de opdrachten invoegen, verwijderen en bijwerken.
- Vervolgens definiëren we een stringvariabele, SQL, die onze SQL-opdrachtreeks bevat.
- De volgende stap is het definiëren van de SQL-instructie die voor onze database zal worden gebruikt. In ons geval geven we een updateverklaring uit, waardoor de naam van de tutorial wordt bijgewerkt naar “VB.Net Complete”, terwijl de TutorialID ongewijzigd blijft en op 3 blijft staan.
- Vervolgens maken we het opdrachtobject, dat wordt gebruikt om de SQL-instructie op de database uit te voeren. In de SQL-opdracht heeft u het verbindingsobject en de SQL-string doorgegeven.
- In ons data-adaptercommando koppelen we nu het insert SQL-commando aan onze adapter. Vervolgens geven we ook de ExecuteNonQuery-methode uit die wordt gebruikt om de Update-instructie op onze database uit te voeren.
- We sluiten uiteindelijk alle objecten die gerelateerd zijn aan onze databasebewerking. Onthoud dat dit altijd een goede gewoonte is.
Wanneer de bovenstaande code is ingesteld en het project wordt uitgevoerd met Visual Studio, krijgt u de onderstaande uitvoer. Zodra het formulier wordt weergegeven, klikt u op de knop Verbinden.
Uitgang: -
Als u daadwerkelijk naar SQL Server Express gaat en de rijen in de demotb-tabel ziet, ziet u dat de rij met succes is bijgewerkt, zoals hieronder weergegeven.
Records verwijderen
Net als toegang krijgen tot gegevens heeft C# ook de mogelijkheid om bestaande records uit de database te verwijderen. Om te laten zien hoe we records in onze database kunnen verwijderen, nemen we dezelfde tabelstructuur als hierboven.
Tutorial-ID | Naam van zelfstudie |
---|---|
1 | C# |
2 | ASP.Net |
3 | VB.Net voltooid |
Laten we de code in ons formulier wijzigen, zodat we de volgende rij kunnen verwijderen
Tutorial-ID | Naam van zelfstudie |
---|---|
3 | VB.Net voltooid |
Laten we de volgende code toevoegen aan ons programma. Het onderstaande codefragment wordt gebruikt om een bestaand record in onze database te verwijderen.
Code-uitleg: -
- Het belangrijkste verschil in deze code is dat we nu de SQL-instructie verwijderen. De instructie delete wordt gebruikt om de rij in de demotb-tabel te verwijderen waarin de TutorialID de waarde 3 heeft.
- In ons data-adaptercommando koppelen we nu het insert SQL-commando aan onze adapter. Vervolgens geven we ook de ExecuteNonQuery-methode uit die wordt gebruikt om de Delete-instructie op onze database uit te voeren.
Wanneer de bovenstaande code is ingesteld en het project wordt uitgevoerd met Visual Studio, krijgt u de onderstaande uitvoer. Zodra het formulier wordt weergegeven, klikt u op de knop Verbinden.
Uitgang: -
Als u daadwerkelijk naar SQL Server Express gaat en de rijen in de demotb-tabel ziet, ziet u dat de rij met succes is verwijderd, zoals hieronder weergegeven.
Besturingselementen verbinden met gegevens
In de eerdere secties hebben we gezien hoe we C#-opdrachten zoals SQLCommand en SQLReader kunnen gebruiken om gegevens uit een database op te halen. We hebben ook gezien hoe we elke rij van de tabel lezen en een messagebox gebruiken om de inhoud van een tabel aan de gebruiker weer te geven.
Maar gebruikers willen uiteraard geen data zien die via berichtenboxen wordt verzonden en willen betere controles om de data weer te geven. Laten we de onderstaande datastructuur in een tabel nemen
Tutorial-ID | Naam van zelfstudie |
---|---|
1 | C# |
2 | ASP.Net |
3 | VB.Net voltooid |
Vanuit de bovenstaande datastructuur zou de gebruiker idealiter de TutorialID en Tutorial Name in een tekstvak willen zien. Ten tweede zouden ze een soort knopbediening willen hebben waarmee ze naar het volgende record of het vorige record in de tabel kunnen gaan. Dit zou wat extra codering van de kant van de ontwikkelaar vereisen.
Het goede nieuws is dat C# de extra codeerinspanning kan verminderen door binding van controls aan data toe te staan. Dit betekent dat C# automatisch de waarde van het tekstvak kan vullen volgens een bepaald veld van de tabel.
U kunt dus 2 tekstvakken in een Windows-formulier hebben. U kunt dan één tekstvak koppelen aan het veld TutorialID en een ander tekstvak aan het veld TutorialName. Deze koppeling wordt gedaan in de Visual Studio Designer zelf, en u hoeft hiervoor geen extra code te schrijven.
Visual Studio zorgt ervoor dat de code voor u wordt geschreven om ervoor te zorgen dat de koppeling werkt. Wanneer u uw toepassing uitvoert, maken de tekstvakbesturingselementen automatisch verbinding met de database, halen de gegevens op en geven deze weer in de tekstvakbesturingselementen. Er is geen codering vereist van de kant van de ontwikkelaar om dit te bereiken.
Laten we eens kijken naar een codevoorbeeld van hoe we binding van controles kunnen bereiken.
In ons voorbeeld gaan we 2 tekstvakken maken op het Windows-formulier. Ze gaan respectievelijk de Tutorial ID en Tutorial Name vertegenwoordigen. Ze worden dienovereenkomstig gekoppeld aan de velden Tutorial ID en TutorialName van de database.
Laten we de onderstaande stappen volgen om dit te bereiken.
Stap 1) Maak het basisformulier. Sleep en zet 2 componenten in het formulier neer: labels en tekstvakken. Voer vervolgens de volgende substappen uit
- Zet de tekstwaarde van het eerste label als TutorialID
- Plaats de tekstwaarde van het tweede label als TutorialName
- Zet de naameigenschap van het eerste tekstvak als txtID
- Zet de naameigenschap van het tweede tekstvak als txtName
Hieronder ziet u hoe het formulier eruit zou zien zodra de bovengenoemde stappen zijn uitgevoerd.
Stap 2) De volgende stap is om een binding Navigator aan het formulier toe te voegen. De binding Navigator-besturing kan automatisch door elke rij van de tabel navigeren. Om de binding navigator toe te voegen, gaat u gewoon naar de toolbox en sleept u deze naar het formulier.
Stap 3) De volgende stap is om een binding toe te voegen aan onze database. Dit kan worden gedaan door naar een van de Textbox-besturingselementen te gaan en te klikken op de DataBindings->Text-eigenschap. De Binding Navigator wordt gebruikt om een koppeling te maken van uw applicatie naar een database.
Wanneer u deze stap uitvoert, voegt Visual Studio automatisch de vereiste code toe aan de toepassing om ervoor te zorgen dat de toepassing is gekoppeld aan de database. Normaal gesproken wordt de database in Visual Studio een Project Data Source genoemd. Om ervoor te zorgen dat de verbinding tussen de toepassing en de database tot stand is gebracht, is de eerste stap het maken van een project data source.
Het volgende scherm verschijnt. Klik op de link- “Add Project Data Source”. Wanneer u op de project data source klikt, krijgt u een wizard te zien; hiermee kunt u de databaseverbinding definiëren.
Stap 4) Zodra u op de link Projectgegevensbron toevoegen klikt, krijgt u een wizard te zien die wordt gebruikt om een verbinding met de demotb-database te maken. De volgende stappen laten gedetailleerd zien wat er moet worden geconfigureerd tijdens elke stap van de wizard.
- In het scherm dat verschijnt, kiest u het type Gegevensbron als Database en klikt u vervolgens op de knop Volgende.
- In het volgende scherm moet u beginnen met het maken van de verbindingsreeks met de database. De verbindingsreeks is vereist zodat de toepassing een verbinding met de database tot stand kan brengen. Het bevat de parameters zoals servernaam, databasenaam en de naam van het stuurprogramma.
- Klik op de knop Nieuwe verbinding
- Kies de gegevensbron als Microsoft SQL Server
- Klik op de knop Doorgaan.
- Vervolgens moet u de inloggegevens toevoegen om verbinding te maken met de database
- Kies de servernaam waarop de SQL Server zich bevindt
- Voer het gebruikers-ID en wachtwoord in om verbinding te maken met de database
- Kies de database als demotb
- Klik op de knop 'ok'.
- In dit scherm bevestigen we alle instellingen die op de vorige schermen aanwezig waren.
- Kies de optie “Ja” om gevoelige gegevens in de verbindingsreeks op te nemen
- Klik op de knop "Volgende".
- In het volgende scherm klikt u op de knop “Volgende” om het aanmaken van de verbindingsreeks te bevestigen
- In deze stap,
- Kies de tabellen van Demotb, die in het volgende scherm worden getoond.
- Deze tabel wordt nu een beschikbare gegevensbron in het C#-project
Wanneer u op de knop Voltooien klikt, Visual Studio zorgt er nu voor dat de applicatie alle rijen in de tabel Demotb kan opvragen.
Stap 5) Nu de gegevensbron is gedefinieerd, moeten we de tekstvakken TutorialID en TutorialName verbinden met de tabel demotb. Wanneer u op de eigenschap Text van het tekstvak TutorialID of TutorialName klikt, ziet u dat de bindingsbron voor Demotb beschikbaar is.
Kies voor het eerste tekstvak de Tutorial ID. Herhaal deze stap voor het tweede tekstvak en kies het veld als TutorialName. De onderstaande stappen laten zien hoe we naar elk besturingselement kunnen navigeren en de binding dienovereenkomstig kunnen wijzigen.
- Klik op het besturingselement Tutorial-ID.
- In het venster Eigenschappen ziet u de eigenschappen van het tekstvak TutorialID. Ga naar de teksteigenschap en klik op de pijl-omlaagknop.
- Wanneer u op de pijl-omlaag klikt, ziet u de optie demotbBinding Source. En hieronder ziet u de opties TutorialName en TutorialID. Kies de Tutorial-ID.
Herhaal de bovenstaande 3 stappen voor het tekstvak Tutorialnaam.
- Klik dus op het tekstvak Tutorialnaam
- Ga naar het eigenschappenvenster
- Kies de eigenschap Tekst
- Kies de optie TutorialName onder demotbBindingSource
Stap 6) Vervolgens moeten we de eigenschap Binding Source van BindingNavigator wijzigen zodat deze naar onze Demotb-gegevensbron verwijst. De reden dat we dit doen is dat de Binding Navigator ook moet weten naar welke tabel hij moet verwijzen.
De Binding Navigator wordt gebruikt om de volgende of vorige record in de tabel te selecteren. Dus zelfs als de gegevensbron aan het project als geheel en aan het tekstvakbesturingselement wordt toegevoegd, moeten we er nog steeds voor zorgen dat de Binding Navigator ook een koppeling naar onze gegevensbron heeft. Om dit te doen, moeten we op het Binding navigator-object klikken, naar de eigenschap Binding Source gaan en degene kiezen die beschikbaar is
Vervolgens moeten we naar het venster Eigenschappen gaan, zodat we de wijziging in de eigenschap Binding Source kunnen aanbrengen.
Wanneer alle bovenstaande stappen met succes zijn uitgevoerd, krijgt u de onderstaande uitvoer.
Uitgang: -
Wanneer het project nu wordt gestart, ziet u dat de tekstvakken automatisch de waarden uit de tabel ophalen.
Wanneer u op de knop Volgende op de Navigator klikt, gaat u automatisch naar het volgende record in de tabel. En de waarden van het volgende record komen automatisch in de tekstvakken
C# DataGridView
Gegevensrasters worden gebruikt om gegevens uit een tabel in een rasterachtig formaat weer te geven. Wanneer een gebruiker de tabelgegevens ziet, geeft hij er normaal gesproken de voorkeur aan om alle tabelrijen in één keer te zien. Dit kan worden bereikt als we de gegevens in een raster op het formulier kunnen weergeven.
C# en Visual Studio hebben ingebouwde data grids, dit kan worden gebruikt om data weer te geven. Laten we eens kijken naar een voorbeeld hiervan. In ons voorbeeld hebben we een data grid, dat zal worden gebruikt om de Tutorial ID en Tutorial Name waarden uit de demotb tabel weer te geven.
Stap 1) Sleep het DataGridView-besturingselement van de toolbox naar het formulier in Visual Studio. Het DataGridView-besturingselement wordt in Visual Studio gebruikt om de rijen van een tabel in een rasterachtige indeling weer te geven.
Stap 2) In de volgende stap moeten we ons dataraster verbinden met de database. In de laatste sectie hadden we een projectgegevensbron gemaakt. Laten we dezelfde gegevensbron gebruiken in ons voorbeeld.
- Eerst moet u het raster kiezen en op de pijl in het raster klikken. Hierdoor worden de opties voor de netconfiguratie weergegeven.
- Kies in de configuratieopties gewoon de gegevensbron als demotbBindingSource, de gegevensbron die in de eerdere sectie is gemaakt.
Als alle bovenstaande stappen worden uitgevoerd zoals weergegeven, krijgt u de onderstaande uitvoer.
Uitgang: -
Uit de uitvoer kunt u zien dat het raster is gevuld met de waarden uit de database.
Samenvatting
- C# SQL kan werken met databases zoals Oracle en Microsoft SQL Server.
- Deze C# database tutorial bevat alle commando's die nodig zijn om met databases te werken. Dit omvat het opzetten van een verbinding met de database. U kunt bewerkingen uitvoeren zoals selecteren, bijwerken, invoegen en verwijderen met behulp van de commando's in C#.
- Het DataReader-object in C# wordt gebruikt om alle gegevens op te slaan die door de database worden geretourneerd. De While-lus in C# kan worden gebruikt om de gegevensrijen één voor één te lezen.
- Het dataadapterobject wordt gebruikt om SQL-bewerkingen uit te voeren, zoals invoegen, verwijderen en bijwerken in de database.
- C# kan besturingselementen aan de verschillende velden in een tabel binden. Ze zijn gebonden door het definiëren van een gegevensbron in C#. De gegevensbron wordt gebruikt om de gegevens uit de database te halen en in de besturingselementen in te vullen.
- De binding-navigator wordt gebruikt om automatisch door de rijen in een tabel te navigeren.
- Het dataraster in C# kan verbinding maken met de database en alle waarden uit de tabel weergeven in een rasterachtig formaat.