C#-databasetilkobling: Slik kobler du til SQL Server

โšก Smart oppsummering

C# Database Connection dekker hvordan du spรธr, setter inn, oppdaterer og sletter SQL Server-data fra .NET-applikasjoner. Lessons forklarer tilkoblingsstrenger, SqlConnection, SqlCommand, databindingskontroller og bruk av DataGridView.

  • ๐Ÿ”Œ Tilkoblingsstreng: Definer server, database, autentisering og tidsavbrudd i en appkonfigurasjon eller kodevariabel.
  • ๐Ÿ“ฅ SqlConnection รฅpen: Instantier SqlConnection, kall Open, og lukk alltid inni ved รฅ bruke blokker for sikkerhets skyld.
  • ๐Ÿ” Utfรธr spรธrringer: SqlCommand med ExecuteReader, ExecuteNonQuery eller ExecuteScalar dekker alle CRUD-scenarier.
  • ???? Bind til kontroller: DataSource pรฅ kombinasjonsbokser, listebokser og DataGridView viser rader i Windows Former.
  • โšก Parameterisert SQL: Bruk SqlParameter for รฅ unngรฅ SQL-injeksjon og forbedre gjenbruk av spรธrreplaner.
  • ๐Ÿค– AI Code Hjelpere: AI-assistenter genererer tilkoblingskode, foreslรฅr ORM-kartpings, og oppdage injeksjonsrisikoer.

C#-databasetilkobling

Tilgang til data fra en database er en av de viktige aspektene ved ethvert programmeringssprรฅk. Det er en absolutt nรธdvendighet for ethvert programmeringssprรฅk รฅ ha evnen til รฅ jobbe med databaser. C# er ikke annerledes.

Det kan fungere med forskjellige typer databaser. Det kan fungere med de vanligste databasene som f.eks Oracle og Microsoft SQL Server.

Det kan ogsรฅ fungere med nye former for databaser som f.eks MongoDB og MySQL.

Grunnleggende om databasetilkobling

C# og .Net kan fungere med et flertall av databaser, den vanligste er Oracle og Microsoft SQL Server. Men med hver database er logikken bak รฅ jobbe med dem alle stort sett den samme.

I vรฅre eksempler vil vi se pรฅ รฅ arbeide med Microsoft SQL Server som vรฅr database. For lรฆringsformรฅl kan man laste ned og bruke Microsoft SQL Server ekspressutgave, som er en gratis databaseprogramvare levert av Microsoft.

I arbeid med databaser er fรธlgende konsepter som er felles for alle databaser.

  1. Tilkobling โ€“ For รฅ jobbe med dataene i en database, er det fรธrste รฅpenbare trinnet tilkoblingen. Tilkoblingen til en database bestรฅr normalt av parametrene nedenfor.
    1. Databasenavn eller datakilde โ€“ Den fรธrste viktige parameteren er databasenavnet som tilkoblingen mรฅ opprettes til. Hver tilkobling kan bare fungere med รฉn database om gangen.
    2. Credentials โ€“ Det neste viktige aspektet er brukernavnet og passordet som mรฅ brukes for รฅ etablere en tilkobling til databasen. Det sikrer at brukernavnet og passordet har de nรธdvendige rettighetene for รฅ koble til databasen.
    3. Valgfrie parametere โ€“ For hver databasetype kan du angi valgfrie parametere for รฅ gi mer informasjon om hvordan .net skal hรฅndtere tilkoblingen til databasen. For eksempel kan man angi en parameter for hvor lenge forbindelsen skal vรฆre aktiv. Hvis ingen operasjon utfรธres i en bestemt tidsperiode, vil parameteren avgjรธre om forbindelsen mรฅ lukkes.
  2. Velge data fra databasen โ€“ Nรฅr forbindelsen er etablert, er det neste viktige aspektet รฅ hente dataene fra databasen. C# kan utfรธre 'SQL' select-kommando mot databasen. 'SQL'-setningen kan brukes til รฅ hente data fra en bestemt tabell i databasen.
  3. Sette inn data i databasen โ€“ C# kan ogsรฅ brukes til รฅ sette inn poster i databasen. Verdier kan spesifiseres i C# for hver rad som mรฅ settes inn i databasen.
  4. Oppdatering av data til databasen โ€“ C# kan ogsรฅ brukes til รฅ oppdatere eksisterende poster inn i databasen. Nye verdier kan spesifiseres i C# for hver rad som mรฅ oppdateres inn i databasen.
  5. Sletting av data fra en database โ€“ C# kan ogsรฅ brukes til รฅ slette poster i databasen. Velg kommandoer for รฅ spesifisere hvilke rader som mรฅ slettes, kan spesifiseres i C#.

Ok, nรฅ som vi har sett teorien om hver operasjon, la oss hoppe inn i de videre delene for รฅ se pรฅ hvordan vi kan utfรธre databaseoperasjoner i C#.

SQL-kommando i c#

SqlCommand i C# tillate brukeren รฅ spรธrre og sende kommandoene til databasen. SQL-kommandoen er spesifisert av SQL-tilkoblingsobjektet. To metoder brukes, ExecuteReader-metoden for resultater av spรธrring og ExecuteNonQuery for รฅ sette inn, oppdatere og slette kommandoer. Det er metoden som er best for de forskjellige kommandoene.

Hvordan koble C# til databasen

La oss nรฅ se pรฅ koden, som mรฅ holdes pรฅ plass for รฅ opprette en tilkobling til en database. I vรฅrt eksempel vil vi koble til en database som har navnet Demodb. Pรฅloggingsinformasjonen som brukes for รฅ koble til databasen er gitt nedenfor

  • Brukernavn โ€“ sa
  • Passord โ€“ demo123

Vi vil se en enkel Windows skjema sรธknad รฅ jobbe med databaser. Vi vil ha en enkel knapp kalt "Koble til" som vil bli brukt til รฅ koble til databasen.

Sรฅ la oss fรธlge trinnene nedenfor for รฅ oppnรฅ dette

Trinn 1) Det fรธrste trinnet innebรฆrer รฅ lage et nytt prosjekt i Visual Studio. Etter รฅ ha startet Visual Studio, mรฅ du velge menyvalget Nytt->Prosjekt.

Koble C# til databasen

Trinn 2) Det neste trinnet er รฅ velge prosjekttype som en Windows Skjemasรธknad. Her mรฅ vi ogsรฅ nevne navn og plassering av prosjektet vรฅrt.

Koble C# til databasen

  1. I prosjektdialogboksen kan vi se ulike alternativer for รฅ lage ulike typer prosjekter i Visual Studio. Klikk pรฅ Windows alternativet pรฅ venstre side.
  2. Nรฅr vi klikker pรฅ Windows alternativer i forrige trinn, vil vi kunne se et alternativ for Windows Skjemasรธknad. Klikk pรฅ dette alternativet.
  3. Vi gir deretter et navn pรฅ applikasjonen som i vรฅrt tilfelle er "DemoApplication". Vi mรฅ ogsรฅ oppgi et sted for รฅ lagre applikasjonen vรฅr.
  4. Til slutt klikker vi pรฅ 'OK'-knappen for รฅ la Visual Studio lage prosjektet vรฅrt.

Trinn 3) Legg nรฅ til en knapp fra verktรธykassen til Windows form. Sett tekstegenskapen til knappen som Connect. Slik vil det se ut

Koble C# til databasen

Trinn 4) Dobbeltklikk nรฅ pรฅ skjemaet slik at en hendelsesbehandler legges til koden for knappen klikk-hendelsen. I hendelsesbehandleren legger du til koden nedenfor.

Koble C# til databasen

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 Forklaring:-

  1. Det fรธrste trinnet er รฅ lage variabler, som vil bli brukt til รฅ lage tilkoblingsstrengen og tilkoblingen til SQL Server-databasen.
  2. Det neste trinnet er รฅ lage tilkoblingsstrengen. Koblingsstrengen mรฅ spesifiseres riktig for at C# skal forstรฅ forbindelsesstrengen. Koblingsstrengen bestรฅr av fรธlgende deler
    1. Datakilde โ€“ Dette er navnet pรฅ serveren som databasen ligger pรฅ. I vรฅrt tilfelle ligger den pรฅ en maskin som heter WIN-50GP30FGO75.
    2. Initial Catalog brukes til รฅ spesifisere navnet pรฅ databasen
    3. Bruker-ID og passord er legitimasjonen som kreves for รฅ koble til databasen.
  3. Deretter tildeler vi koblingsstrengen til variabelen cnn. Variabelen cnn, som er av typen SqlConnection, brukes til รฅ etablere forbindelsen til databasen.
  4. Deretter bruker vi Open-metoden til cnn-variabelen for รฅ รฅpne en tilkobling til databasen. Vi viser da bare en melding til brukeren om at forbindelsen er opprettet.
  5. Nรฅr operasjonen er fullfรธrt, lukker vi forbindelsen til databasen. Det er alltid en god praksis รฅ lukke forbindelsen til databasen hvis det ikke kreves noe annet pรฅ databasen.

Nรฅr koden ovenfor er satt, og prosjektet utfรธres ved hjelp av Visual Studio, vil du fรฅ utdataene nedenfor. Nรฅr skjemaet vises, klikker du pรฅ Koble til-knappen.

Produksjon:-

Koble C# til databasen

Nรฅr du klikker pรฅ "koble til"-knappen, fra utgangen, kan du se at databasetilkoblingen ble opprettet. Derfor ble meldingsboksen vist.

Fรฅ tilgang til data med SqlDataReader

For รฅ vise hvordan data kan nรฅs ved hjelp av C#, la oss anta at vi har fรธlgende artefakter i databasen vรฅr.

  1. Et bord kalt demotb. Denne tabellen vil bli brukt til รฅ lagre ID og navn pรฅ ulike opplรฆringsprogrammer.
  2. Tabellen vil ha 2 kolonner, en kalt "TutorialID" og den andre kalt "TutorialName."
  3. For รธyeblikket vil tabellen ha 2 rader som vist nedenfor.
Opplรฆrings-ID Opplรฆringsnavn
1 C#
2 ASP.Net

La oss endre koden i skjemaet vรฅrt, slik at vi kan spรธrre etter disse dataene og vise informasjonen via en meldingsboks. Merk at all koden som legges inn nedenfor er en fortsettelse av koden skrevet for datatilkoblingen i forrige avsnitt.

Trinn 1) La oss dele koden i 2 deler slik at den blir lett รฅ forstรฅ for brukeren.

  • Den fรธrste vil vรฆre รฅ konstruere vรฅr "select"-setning, som vil bli brukt til รฅ lese dataene fra databasen.
  • Vi vil deretter utfรธre "select"-setningen mot databasen og hente alle tabellradene deretter.

Fรฅ tilgang til data med SqlDataReader

Code Forklaring:-

  1. Det fรธrste trinnet er รฅ lage fรธlgende variabler
    1. SQLCommand โ€“ 'SQLCommand' er en klasse definert i C#. Denne klassen brukes til รฅ utfรธre operasjoner med lesing og skriving inn i databasen. Derfor er det fรธrste trinnet รฅ sรธrge for at vi lager en variabel type av denne klassen. Denne variabelen vil deretter bli brukt i pรฅfรธlgende trinn for รฅ lese data fra databasen vรฅr.
    2. DataReader-objektet brukes til รฅ hente alle dataene spesifisert av SQL-spรธrringen. Vi kan da lese alle tabellradene en etter en ved hjelp av dataleseren.
    3. Vi definerer deretter 2 strengvariabler, den ene er "SQL" for รฅ holde vรฅr SQL-kommandostreng. Den neste er "Output" som vil inneholde alle tabellverdiene.
  2. Det neste trinnet er รฅ definere SQL-setningen, som skal brukes mot databasen vรฅr. I vรฅrt tilfelle er det "Velg TutorialID, TutorialName fra demotb". Dette vil hente alle radene fra tabelldemotb.
  3. Deretter lager vi kommandoobjektet som brukes til รฅ utfรธre SQL-setningen mot databasen. I SQL-kommandoen mรฅ du sende tilkoblingsobjektet og SQL-strengen.
  4. Deretter vil vi utfรธre dataleser-kommandoen, som vil hente alle radene fra demotb-tabellen.
  5. Nรฅ som vi har alle radene i tabellen med oss, trenger vi en mekanisme for รฅ fรฅ tilgang til raden รฉn etter รฉn. Til dette vil vi bruke while-setningen. While-setningen vil bli brukt for รฅ fรฅ tilgang til radene fra dataleseren รฉn om gangen. Vi bruker deretter GetValue-metoden for รฅ fรฅ verdien av TutorialID og TutorialName.

Trinn 2) I det siste trinnet vil vi bare vise utdataene til brukeren og lukke alle objektene relatert til databaseoperasjonen.

Fรฅ tilgang til data med SqlDataReader

Code Forklaring:-

  1. Vi vil fortsette koden vรฅr ved รฅ vise verdien til utdatavariabelen ved รฅ bruke meldingenBox. Output-variabelen vil inneholde alle verdiene fra demotb-tabellen.
  2. Vi lukker til slutt alle objektene relatert til databaseoperasjonen vรฅr. Husk at dette alltid er en god praksis.

Nรฅr koden ovenfor er satt, og prosjektet kjรธres med Visual Studio, vil du fรฅ utdataene nedenfor. Nรฅr skjemaet vises, klikker du pรฅ Koble til-knappen.

Produksjon:-

Fรฅ tilgang til data med SqlDataReader

Fra utgangen kan du tydelig se at programmet var i stand til รฅ hente verdiene fra databasen. Dataene vises deretter i meldingsboksen.

C# Sett inn i databasen

Akkurat som tilgang til data, har C# muligheten til รฅ sette inn poster i databasen ogsรฅ. For รฅ vise hvordan du setter inn poster i databasen vรฅr, la oss ta den samme tabellstrukturen som ble brukt ovenfor.

Opplรฆrings-ID Opplรฆringsnavn
1 C#
2 ASP.Net

La oss endre koden i skjemaet vรฅrt, slik at vi kan sette inn fรธlgende rad i tabellen

Opplรฆrings-ID Opplรฆringsnavn
3 VB.Net

Sรฅ la oss legge til fรธlgende kode i programmet vรฅrt. Kodebiten nedenfor vil bli brukt til รฅ sette inn en eksisterende post i databasen vรฅr.

C# Sett inn i databasen

Code Forklaring:-

  1. Det fรธrste trinnet er รฅ lage fรธlgende variabler
    1. SQLCommand - Denne datatypen brukes til รฅ definere objekter som brukes til รฅ utfรธre SQL-operasjoner mot en database. Dette objektet vil inneholde SQL-kommandoen som vil kjรธre mot vรฅr SQL Server-database.
    2. DataAdapter-objektet brukes til รฅ utfรธre spesifikke SQL-operasjoner som รฅ sette inn, slette og oppdatere kommandoer.
    3. Vi definerer deretter en strengvariabel, som er "SQL" for รฅ holde vรฅr SQL-kommandostreng.
  2. Det neste trinnet er รฅ faktisk definere SQL-setningen som skal brukes mot databasen vรฅr. I vรฅrt tilfelle utsteder vi en insert-erklรฆring, som vil sette inn oppfรธringen TutorialID=1 og TutorialName=VB.Net
  3. Deretter lager vi kommandoobjektet som brukes til รฅ utfรธre SQL-setningen mot databasen. I SQL-kommandoen mรฅ du sende tilkoblingsobjektet og SQL-strengen
  4. I dataadapterkommandoen vรฅr knytter vi nรฅ insert SQL-kommandoen til adapteren vรฅr. Vi utsteder ogsรฅ ExecuteNonQuery-metoden som brukes til รฅ utfรธre Insert-setningen mot databasen vรฅr. 'ExecuteNonQuery'-metoden brukes i C# for รฅ gi DML-setninger mot databasen. Med DML-setninger mener vi innsetting, sletting og oppdatering. I C#, hvis du vil utstede noen av disse setningene mot en tabell, mรฅ du bruke ExecuteNonQuery-metoden.
  5. Vi lukker til slutt alle objektene relatert til databaseoperasjonen vรฅr. Husk at dette alltid er en god praksis.

Nรฅr koden ovenfor er satt, og prosjektet utfรธres ved hjelp av Visual Studio, vil du fรฅ utdataene nedenfor. Nรฅr skjemaet vises, klikker du pรฅ Koble til-knappen.

Produksjon:-

C# Sett inn i databasen

Hvis du gรฅr til SQL Server Express og ser radene i demotb-tabellen, vil du se raden satt inn som vist nedenfor

C# Sett inn i databasen

C# Oppdater database

Akkurat som tilgang til data, har C# muligheten til รฅ oppdatere eksisterende poster fra databasen ogsรฅ. For รฅ vise frem hvordan du oppdaterer poster i databasen vรฅr, la oss ta den samme tabellstrukturen som ble brukt ovenfor.

Opplรฆrings-ID Opplรฆringsnavn
1 C#
2 ASP.Net
3 VB.Net

La oss endre koden i skjemaet vรฅrt, slik at vi kan oppdatere fรธlgende rad. Den gamle radverdien er TutorialID som "3" og Tutorial Name som "VB.Net". Som vi vil oppdatere den til "VB.Net complete" mens radverdien for opplรฆrings-ID forblir den samme.

Gammel rad

Opplรฆrings-ID Opplรฆringsnavn
3 VB.Net

Ny rad

Opplรฆrings-ID Opplรฆringsnavn
3 VB.Net komplett

Sรฅ la oss legge til fรธlgende kode i programmet vรฅrt. Kodebiten nedenfor vil bli brukt til รฅ oppdatere en eksisterende post i databasen vรฅr.

C# Oppdater database

C# SQLCommand-eksempel med Code Forklaring:-

  1. Det fรธrste trinnet er รฅ lage fรธlgende variabler
    1. SQLCommand - Denne datatypen brukes til รฅ definere objekter som brukes til รฅ utfรธre SQL-operasjoner mot en database. Dette objektet vil inneholde SQL-kommandoen som vil kjรธre mot vรฅr SQL Server-database.
    2. Dataadapterobjektet brukes til รฅ utfรธre spesifikke SQL-operasjoner som รฅ sette inn, slette og oppdatere kommandoer.
    3. Vi definerer deretter en strengvariabel, som er SQL for รฅ holde vรฅr SQL-kommandostreng.
  2. Det neste trinnet er รฅ definere SQL-setningen som skal brukes mot databasen vรฅr. I vรฅrt tilfelle utsteder vi en oppdateringserklรฆring, dette vil oppdatere opplรฆringsnavnet til "VB.Net Complete" mens opplรฆrings-IDen er uendret og beholdt som 3.
  3. Deretter vil vi lage kommandoobjektet, som brukes til รฅ utfรธre SQL-setningen mot databasen. I SQL-kommandoen har du sendt tilkoblingsobjektet og SQL-strengen.
  4. I dataadapterkommandoen vรฅr knytter vi nรฅ insert SQL-kommandoen til adapteren vรฅr. Vi utsteder ogsรฅ ExecuteNonQuery-metoden som brukes til รฅ utfรธre Update-setningen mot databasen vรฅr.
  5. Vi lukker til slutt alle objektene relatert til databaseoperasjonen vรฅr. Husk at dette alltid er en god praksis.

Nรฅr koden ovenfor er satt, og prosjektet utfรธres ved hjelp av Visual Studio, vil du fรฅ utdataene nedenfor. Nรฅr skjemaet vises, klikker du pรฅ Koble til-knappen.

Produksjon:-

C# Oppdater database

Hvis du faktisk gรฅr til SQL Server Express og ser radene i demotb-tabellen, vil du se at raden ble oppdatert som vist nedenfor.

C# Oppdater database

Slette poster

Akkurat som tilgang til data, har C# muligheten til รฅ slette eksisterende poster fra databasen ogsรฅ. For รฅ vise frem hvordan du sletter poster i databasen vรฅr, la oss ta den samme tabellstrukturen som ble brukt ovenfor.

Opplรฆrings-ID Opplรฆringsnavn
1 C#
2 ASP.Net
3 VB.Net komplett

La oss endre koden i skjemaet vรฅrt, slik at vi kan slette fรธlgende rad

Opplรฆrings-ID Opplรฆringsnavn
3 VB.Net komplett

Sรฅ la oss legge til fรธlgende kode i programmet vรฅrt. Kodebiten nedenfor vil bli brukt til รฅ slette en eksisterende post i databasen vรฅr.

Slette poster

Code Forklaring:-

  1. Hovedforskjellen i denne koden er at vi nรฅ utsteder delete SQL-setningen. Delete-setningen brukes til รฅ slette raden i demotb-tabellen der opplรฆrings-IDen har en verdi pรฅ 3.
  2. I dataadapterkommandoen vรฅr knytter vi nรฅ insert SQL-kommandoen til adapteren vรฅr. Vi utsteder ogsรฅ ExecuteNonQuery-metoden som brukes til รฅ utfรธre Delete-setningen mot databasen vรฅr.

Nรฅr koden ovenfor er satt, og prosjektet utfรธres ved hjelp av Visual Studio, vil du fรฅ utdataene nedenfor. Nรฅr skjemaet vises, klikker du pรฅ Koble til-knappen.

Produksjon:-

Slette poster

Hvis du faktisk gรฅr til SQL Server Express og ser radene i demotb-tabellen, vil du se at raden ble slettet som vist nedenfor.

Slette poster

Koble kontroller til data

I de tidligere delene har vi sett hvordan vi kan bruke C#-kommandoer som SQLCommand og SQLReader for รฅ hente data fra en database. Vi sรฅ ogsรฅ hvordan vi leser hver rad i tabellen og bruker en meldingsboks for รฅ vise innholdet i en tabell til brukeren.

Men tydeligvis รธnsker ikke brukere รฅ se data sendt via meldingsbokser og vil ha bedre kontroller for รฅ vise dataene. La oss ta datastrukturen nedenfor i en tabell

Opplรฆrings-ID Opplรฆringsnavn
1 C#
2 ASP.Net
3 VB.Net komplett

Fra ovennevnte datastruktur vil brukeren ideelt sett รธnske รฅ se opplรฆrings-ID og opplรฆringsnavn vist i en tekstboks. For det andre vil de kanskje ha en slags knappkontroll som kan tillate dem รฅ gรฅ til neste post eller til forrige post i tabellen. Dette vil kreve litt ekstra koding fra utviklerens side.

Den gode nyheten er at C# kan redusere den ekstra kodingsinnsatsen ved รฅ tillate binding av kontroller til data. Hva dette betyr er at C# automatisk kan fylle ut verdien av tekstboksen i henhold til et bestemt felt i tabellen.

Sรฅ du kan ha 2 tekstbokser i et Windows-skjema. Du kan deretter koble en tekstboks til TutorialID-feltet og en annen tekstboks til TutorialName-feltet. Denne koblingen gjรธres i selve Visual Studio-designeren, og du trenger ikke skrive ekstra kode for dette.

Visual Studio vil sรธrge for at den skriver koden for deg for รฅ sikre at koblingen fungerer. Nรฅr du deretter kjรธrer applikasjonen, vil tekstbokskontrollene automatisk koble til databasen, hente dataene og vise dem i tekstbokskontrollene. Det kreves ingen koding fra utviklerens side for รฅ oppnรฅ dette.

La oss se pรฅ et kodeeksempel pรฅ hvordan vi kan oppnรฅ binding av kontroller.

I vรฅrt eksempel skal vi lage 2 tekstbokser pรฅ Windows-skjemaet. De kommer til รฅ representere henholdsvis opplรฆrings-ID og opplรฆringsnavn. De vil vรฆre bundet til feltene Tutorial ID og TutorialName i databasen tilsvarende.

La oss fรธlge trinnene nedenfor for รฅ oppnรฅ dette.

Trinn 1) Konstruer grunnformen. Dra og slipp 2 komponenter i skjemaet - etiketter og tekstbokser. Utfรธr deretter fรธlgende deltrinn

  1. Sett tekstverdien til den fรธrste etiketten som TutorialID
  2. Sett tekstverdien til den andre etiketten som TutorialName
  3. Sett navnet pรฅ den fรธrste tekstboksen som txtID
  4. Sett navneegenskapen til den andre tekstboksen som txtName

Nedenfor er hvordan skjemaet vil se ut nรฅr de ovennevnte trinnene er utfรธrt.

Koble kontroller til data

Trinn 2) Det neste trinnet er รฅ legge til en bindende Navigator i skjemaet. Den bindende Navigator-kontrollen kan automatisk navigere gjennom hver rad i tabellen. For รฅ legge til bindingsnavigatoren gรฅr du bare til verktรธykassen og drar den til skjemaet.

Koble kontroller til data

Trinn 3) Neste trinn er รฅ legge til en binding til databasen vรฅr. Dette kan gjรธres ved รฅ gรฅ til en av Tekstboks-kontrollene og klikke pรฅ DataBindings->Text-egenskapen. Binding Navigator brukes til รฅ etablere en kobling fra applikasjonen din til en database.

Nรฅr du utfรธrer dette trinnet, vil Visual Studio automatisk legge til den nรธdvendige koden til applikasjonen for รฅ sikre at applikasjonen er koblet til databasen. Normalt blir databasen i Visual Studio referert til som en prosjektdatakilde. Sรฅ for รฅ sikre at forbindelsen er etablert mellom applikasjonen og databasen, er det fรธrste trinnet รฅ opprette en prosjektdatakilde.

Fรธlgende skjerm vises. Klikk pรฅ lenken "Legg til prosjektdatakilde". Nรฅr du klikker pรฅ prosjektdatakilden, vil du bli presentert med en veiviser; dette lar deg definere databasetilkoblingen.

Koble kontroller til data

Trinn 4) Nรฅr du klikker pรฅ koblingen Legg til prosjektdatakilde, vil du bli presentert med en veiviser som vil bli brukt til รฅ opprette en tilkobling til demotb-databasen. De fรธlgende trinnene viser i detalj hva som mรฅ konfigureres under hvert trinn i veiviseren.

  1. I skjermbildet som dukker opp velger du Datakildetypen som Database og klikker deretter pรฅ neste-knappen.

Koble kontroller til data

  1. I neste skjermbilde mรฅ du starte opprettelsen av tilkoblingsstrengen til databasen. Tilkoblingsstrengen kreves for at applikasjonen skal etablere en tilkobling til databasen. Den inneholder parametere som servernavn, databasenavn og navnet pรฅ driveren.
    1. Klikk pรฅ Ny tilkobling-knappen
    2. Velg datakilden som Microsoft SQL Server
    3. Klikk pรฅ Fortsett-knappen.

Koble kontroller til data

  1. Deretter mรฅ du legge til legitimasjonen for รฅ koble til databasen
    1. Velg servernavnet som SQL Server ligger pรฅ
    2. Skriv inn bruker-ID og passord for รฅ koble til databasen
    3. Velg databasen som demotb
    4. Klikk pรฅ 'ok'-knappen.

Koble kontroller til data

  1. I denne skjermen vil vi bekrefte alle innstillingene som ble utfรธrt pรฅ de forrige skjermbildene.
    1. Velg alternativet "Ja" for รฅ inkludere sensitive data i tilkoblingsstrengen
    2. Klikk pรฅ "Neste" -knappen.

Koble kontroller til data

  1. I neste skjermbilde klikker du pรฅ "Neste"-knappen for รฅ bekrefte opprettelsen av tilkoblingsstrengen

Koble kontroller til data

  1. I dette trinnet
  1. Velg tabellene til Demotb, som vises i neste skjermbilde.
  2. Denne tabellen vil nรฅ bli en tilgjengelig datakilde i C#-prosjektet

Koble kontroller til data

Nรฅr du klikker pรฅ Fullfรธr-knappen, Visual Studio vil nรฅ sรธrge for at applikasjonen kan spรธrre alle radene i tabellen Demotb.

Trinn 5) Nรฅ som datakilden er definert, mรฅ vi nรฅ koble TutorialID og TutorialName tekstboksen til demotb-tabellen. Nรฅr du klikker pรฅ tekstegenskapen til enten TutorialID eller TutorialName tekstboksen, vil du nรฅ se at bindingskilden til Demotb er tilgjengelig.

Velg opplรฆrings-ID for den fรธrste tekstboksen. Gjenta dette trinnet for den andre tekstboksen og velg feltet som TutorialName. Trinnene nedenfor viser hvordan vi kan navigere til hver kontroll og endre bindingen tilsvarende.

  1. Klikk pรฅ Tutorial ID-kontrollen.

Koble kontroller til data

  1. I vinduet Egenskaper vil du se egenskapene til TutorialID-tekstboksen. Gรฅ til tekstegenskapen og klikk pรฅ pil ned-knappen.

Koble kontroller til data

  1. Nรฅr du klikker pรฅ pil ned-knappen, vil du se alternativet demotbBinding Source. Og under dette vil du se alternativene for TutorialName og TutorialID. Velg opplรฆrings-ID en.

Koble kontroller til data

Gjenta de tre trinnene ovenfor for tekstboksen Tutorial Name.

  1. Sรฅ klikk pรฅ tekstboksen Tutorial Name
  2. Gรฅ til egenskapsvinduet
  3. Velg egenskapen Tekst
  4. Velg alternativet TutorialName under demotbBindingSource

Trinn 6) Deretter mรฅ vi endre Binding Source-egenskapen til BindingNavigator for รฅ peke pรฅ vรฅr Demotb-datakilde. Grunnen til at vi gjรธr dette er at Binding Navigator ogsรฅ mรฅ vite hvilken tabell den mรฅ referere til.

Bindingsnavigatoren brukes til รฅ velge neste eller forrige post i tabellen. Sรฅ selv om datakilden er lagt til prosjektet som helhet og til tekstbokskontrollen, mรฅ vi fortsatt sรธrge for at Binding Navigator ogsรฅ har en kobling til datakilden vรฅr. For รฅ gjรธre dette, mรฅ vi klikke pรฅ Binding-navigator-objektet, gรฅ til Binding Source-egenskapen og velge den som er tilgjengelig

Koble kontroller til data

Deretter mรฅ vi gรฅ til Egenskaper-vinduet slik at vi kan gjรธre endringen til Binding Source-egenskapen.

Koble kontroller til data

Nรฅr alle trinnene ovenfor er utfรธrt, vil du fรฅ utdataene nedenfor.

Produksjon:-

Koble kontroller til data

Nรฅ nรฅr prosjektet er lansert, kan du se at tekstboksene automatisk fรฅr verdiene fra tabellen.

Koble kontroller til data

Nรฅr du klikker pรฅ Neste-knappen pรฅ navigatoren, gรฅr den automatisk til neste post i tabellen. Og verdiene til neste post kommer automatisk i tekstboksene

C# DataGridView

Datarutenett brukes til รฅ vise data fra en tabell i et rutenettlignende format. Nรฅr en bruker ser tabelldataene, foretrekker de normalt รฅ se alle tabellradene i ett skudd. Dette kan oppnรฅs hvis vi kan vise dataene i et rutenett pรฅ skjemaet.

C# og Visual Studio har innebygde datanett, dette kan brukes til รฅ vise data. La oss ta en titt pรฅ et eksempel pรฅ dette. I vรฅrt eksempel vil vi ha et datarutenett som vil bli brukt til รฅ vise verdiene for opplรฆrings-ID og opplรฆringsnavn fra demotb-tabellen.

Trinn 1) Dra DataGridView-kontrollen fra verktรธykassen til skjemaet i Visual Studio. DataGridView-kontrollen brukes i Visual Studio for รฅ vise radene i en tabell i et rutenettlignende format.

C# DataGridView

Trinn 2) I neste trinn mรฅ vi koble datanettet vรฅrt til databasen. I den siste delen hadde vi laget en prosjektdatakilde. La oss bruke den samme datakilden i vรฅrt eksempel.

  1. Fรธrst mรฅ du velge rutenettet og klikke pรฅ pilen i rutenettet. Dette vil fรฅ opp rutenettkonfigurasjonsalternativene.
  2. I konfigurasjonsalternativene velger du bare datakilden som demotbBindingSource som var datakilden opprettet i den tidligere delen.

C# DataGridView

Hvis alle trinnene ovenfor utfรธres som vist, vil du fรฅ utdataene nedenfor.

Produksjon:-

C# DataGridView

Fra utdataene kan du se at rutenettet ble fylt ut av verdiene fra databasen.

Spรธrsmรฅl og svar

Legg til en tilkoblingsstreng, instansier SqlConnection, kall Open, kjรธr SqlCommand-spรธrringer og lukk tilkoblingen i en using-blokk. ADO.NET stรธtter begge deler. Windows og SQL-autentisering.

Ja. GitHub Copilot, JetBrains AI og Cursor genererer ADO.NET-, Entity Framework- og Dapper-snutter. De forklarer tilkoblingsstrenger og foreslรฅr effektive spรธrremรธnstre umiddelbart.

AI-verktรธy gjennomgรฅr kode for strengsammenkobling, anbefaler parameteriserte SqlCommand-kall og flagger risikable LINQ-mรธnstre. De foreslรฅr ogsรฅ lagrede prosedyrer og Entity Framework-parameterisering.

SqlConnection-mรฅl Microsoft SQL Server med innebygd TDS-protokoll og best ytelse. OleDbConnection fungerer med alle OLE DB-leverandรธrer, inkludert Access, Excel og eldre databaser.

ExecuteScalar kjรธrer en spรธrring og returnerer den fรธrste kolonnen i den fรธrste raden som et objekt. Den er ideell for รฅ hente en enkelt samlet verdi, for eksempel COUNT, SUM eller MAX.

Last inn spรธrreresultatene i en datatabell ved hjelp av SqlDataAdapter.Fill, og angi deretter DataGridView.DataSource til datatabellen. Rutenettet gjengir rader og kolonner automatisk.

Bruk Entity Framework for produktivitet og rikt objektkartpingBruk rรฅ ADO.NET eller Dapper nรฅr du trenger maksimal ytelse, lavnivรฅkontroll eller enklere avhengigheter.

Plasser dem i appsettings.json eller User Secrets for .NET 6+, bruk Azure nรธkkel Vault for produksjon, og unngรฅ hardkodet legitimasjon i kildefiler som er dedikert til versjonskontroll.

Oppsummer dette innlegget med: