Povezivanje s C# bazom podataka: Kako se povezati s SQL Serverom

โšก Pametni saลพetak

C# Povezivanje s bazom podataka pokriva kako upitati, umetnuti, aลพurirati i izbrisati podatke SQL Servera iz .NET aplikacija. LessObjaลกnjavaju nizove za povezivanje, SqlConnection, SqlCommand, kontrole vezanja podataka i koriลกtenje DataGridView-a.

  • ๐Ÿ”Œ Niz za povezivanje: Definirajte posluลพitelj, bazu podataka, autentifikaciju i vremensko ograniฤenje unutar konfiguracije aplikacije ili varijable koda.
  • ๐Ÿ“ฅ Otvaranje SQLConnection-a: Instancirajte SqlConnection, pozovite Open i uvijek zatvorite unutra koristeฤ‡i blokove radi sigurnosti.
  • ๐Ÿ” Izvrลกi upite: SqlCommand s ExecuteReader, ExecuteNonQuery ili ExecuteScalar pokriva sve CRUD scenarije.
  • ๐Ÿ“‹ Veza s kontrolama: Izvor podataka na kombiniranim okvirima, okvirima s popisima i DataGridViewu prikazuje retke u Windows Obrasci.
  • โšก Parametrizirani SQL: Koristite SqlParameter kako biste izbjegli SQL injekciju i poboljลกali ponovnu upotrebu plana upita.
  • ๐Ÿค– AI Code Pomagaฤi: AI asistenti generiraju kod za povezivanje, predlaลพu ORM mapupingi otkrivanje rizika od injektiranja.

C# veza s bazom podataka

Pristup podacima iz baze podataka jedan je od vaลพnih aspekata svakog programskog jezika. Apsolutna je potreba za bilo koji programski jezik da ima sposobnost rada s bazama podataka. C# nije drugaฤiji.

Moลพe raditi s razliฤitim vrstama baza podataka. Moลพe raditi s najฤeลกฤ‡im bazama podataka kao ลกto su Oracle i Microsoft SQL Posluลพitelja.

Takoฤ‘er moลพe raditi s novim oblicima baza podataka kao ลกto su MongoDB i MySQL.

Osnove povezivanja baze podataka

C# i .Net mogu raditi s veฤ‡inom baza podataka, a najฤeลกฤ‡a je Oracle i Microsoft SQL Server. Ali sa svakom bazom podataka, logika rada sa svima uglavnom je ista.

U naลกim primjerima, pogledat ฤ‡emo rad na Microsoft SQL Server kao naลกa baza podataka. U svrhu uฤenja, moลพete preuzeti i koristiti Microsoft SQL Server Ekspresno izdanje, besplatni softver za baze podataka koji nudi Microsoft.

U radu s bazama podataka, sljedeฤ‡i su koncepti zajedniฤki svim bazama podataka.

  1. prikljuฤak โ€“ Za rad s podacima u bazi podataka prvi oฤiti korak je povezivanje. Povezivanje s bazom podataka obiฤno se sastoji od dolje navedenih parametara.
    1. Naziv baze podataka ili izvor podataka โ€“ Prvi vaลพan parametar je ime baze podataka na koju je potrebno uspostaviti vezu. Svaka veza moลพe raditi samo s jednom bazom podataka u isto vrijeme.
    2. akreditiv โ€“ Sljedeฤ‡i vaลพan aspekt su korisniฤko ime i lozinka pomoฤ‡u kojih je potrebno uspostaviti vezu s bazom podataka. Osigurava da korisniฤko ime i lozinka imaju potrebne privilegije za povezivanje s bazom podataka.
    3. Neobavezni parametri โ€“ Za svaku vrstu baze podataka moลพete navesti izborne parametre za pruลพanje viลกe informacija o tome kako .net treba rukovati vezom s bazom podataka. Na primjer, moลพe se odrediti parametar koliko dugo veza treba ostati aktivna. Ako se tijekom odreฤ‘enog vremenskog razdoblja ne izvede nijedna operacija, tada bi parametar odredio treba li se veza zatvoriti.
  2. Odabir podataka iz baze podataka โ€“ Nakon ลกto je veza uspostavljena, sljedeฤ‡i vaลพan aspekt je dohvaฤ‡anje podataka iz baze podataka. C# moลพe izvrลกiti 'SQL' odabir naredbe protiv baze podataka. Naredba 'SQL' moลพe se koristiti za dohvaฤ‡anje podataka iz odreฤ‘ene tablice u bazi podataka.
  3. Umetanje podataka u bazu podataka โ€“ C# se takoฤ‘er moลพe koristiti za umetanje zapisa u bazu podataka. Vrijednosti se mogu specificirati u C# za svaki redak koji treba umetnuti u bazu podataka.
  4. Aลพuriranje podataka u bazi โ€“ C# se takoฤ‘er moลพe koristiti za aลพuriranje postojeฤ‡ih zapisa u bazi podataka. Nove vrijednosti mogu se specificirati u C# za svaki redak koji treba aลพurirati u bazi podataka.
  5. Brisanje podataka iz baze podataka โ€“ C# se takoฤ‘er moลพe koristiti za brisanje zapisa u bazi podataka. Odabir naredbi za odreฤ‘ivanje redaka koji se trebaju izbrisati mogu se odrediti u C#.

Ok, sad kad smo vidjeli teoriju svake operacije, skoฤimo na daljnje odjeljke da vidimo kako moลพemo izvoditi operacije baze podataka u C#.

SQL naredba u c#

SqlCommand u C# dopustiti korisniku da postavlja upite i ลกalje naredbe u bazu podataka. SQL naredba odreฤ‘ena je objektom SQL veze. Koriste se dvije metode, metoda ExecuteReader za rezultate upita i ExecuteNonQuery za naredbe za umetanje, aลพuriranje i brisanje. To je metoda koja je najbolja za razliฤite naredbe.

Kako povezati C# s bazom podataka

Pogledajmo sada kรดd koji treba biti na mjestu kako bi se stvorila veza s bazom podataka. U naลกem primjeru, spojit ฤ‡emo se na bazu podataka koja ima naziv Demodb. Vjerodajnice koje se koriste za povezivanje s bazom podataka navedene su u nastavku

  • Korisniฤko ime โ€“ sa
  • Lozinka โ€“ demo123

Vidjet ฤ‡emo jednostavan Windows prijava obrazaca za rad s bazama podataka. Imat ฤ‡emo jednostavan gumb pod nazivom "Poveลพi se" koji ฤ‡e se koristiti za povezivanje s bazom podataka.

Slijedimo korake u nastavku kako bismo to postigli

Korak 1) Prvi korak ukljuฤuje stvaranje novog projekta u Visual Studiju. Nakon pokretanja Visual Studija potrebno je odabrati opciju izbornika New->Project.

Poveลพite C# s bazom podataka

Korak 2) Sljedeฤ‡i korak je odabir vrste projekta kao ลกto je a Windows Primjena obrazaca. Ovdje takoฤ‘er treba spomenuti naziv i lokaciju naลกeg projekta.

Poveลพite C# s bazom podataka

  1. U dijaloลกkom okviru projekta moลพemo vidjeti razne opcije za kreiranje razliฤitih tipova projekata u Visual Studiju. Kliknite na Windows opciju na lijevoj strani.
  2. Kada kliknemo na Windows opcije u prethodnom koraku, moฤ‡i ฤ‡emo vidjeti opciju za Windows Primjena obrazaca. Pritisnite ovu opciju.
  3. Zatim dajemo naziv aplikaciji koji je u naลกem sluฤaju "DemoApplication". Takoฤ‘er moramo osigurati lokaciju za pohranu naลกe aplikacije.
  4. Na kraju, kliknemo gumb 'OK' kako bismo Visual Studiju dopustili da kreira naลก projekt.

Korak 3) Sada dodajte gumb iz okvira s alatima u Windows oblik. Stavite tekstualno svojstvo gumba kao Connect. Ovako ฤ‡e to izgledati

Poveลพite C# s bazom podataka

Korak 4) Sada dvaput kliknite obrazac tako da se rukovatelj dogaฤ‘ajem doda kodu za dogaฤ‘aj klika na gumb. U rukovatelju dogaฤ‘ajima dodajte kod u nastavku.

Poveลพite C# s bazom podataka

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 Obrazloลพenje:-

  1. Prvi korak je kreiranje varijabli koje ฤ‡e se koristiti za kreiranje niza veze i veze s bazom podataka SQL Servera.
  2. Sljedeฤ‡i korak je stvaranje niza veze. Niz za povezivanje mora biti toฤno naveden kako bi C# razumio niz za povezivanje. Niz veze sastoji se od sljedeฤ‡ih dijelova
    1. Izvor podataka โ€“ Ovo je naziv posluลพitelja na kojem se nalazi baza podataka. U naลกem sluฤaju nalazi se na stroju koji se zove WIN-50GP30FGO75.
    2. Inicijalni katalog se koristi za odreฤ‘ivanje naziva baze podataka
    3. UserID i Password vjerodajnice su potrebne za povezivanje s bazom podataka.
  3. Zatim dodjeljujemo povezujuฤ‡i niz varijabli cnn. Varijabla cnn, koja je tipa SqlConnection, koristi se za uspostavljanje veze s bazom podataka.
  4. Zatim koristimo metodu Open varijable cnn za otvaranje veze s bazom podataka. Tada samo prikazujemo poruku korisniku da je veza uspostavljena.
  5. Nakon ลกto je operacija uspjeลกno dovrลกena, zatvaramo vezu s bazom podataka. Uvijek je dobra praksa zatvoriti vezu s bazom podataka ako niลกta drugo nije potrebno uฤiniti na bazi podataka.

Kada se gornji kod postavi i projekt se izvede pomoฤ‡u Visual Studio-a, dobit ฤ‡ete donji izlaz. Nakon ลกto se obrazac prikaลพe, kliknite gumb Poveลพi.

Izlaz:-

Poveลพite C# s bazom podataka

Kada kliknete na gumb "poveลพi", iz izlaza moลพete vidjeti da je veza s bazom podataka uspostavljena. Stoga je prikazan okvir s porukom.

Pristup podacima pomoฤ‡u SqlDataReader

Da pokaลพemo kako se podacima moลพe pristupiti pomoฤ‡u C#, pretpostavimo da imamo sljedeฤ‡e artefakte u naลกoj bazi podataka.

  1. Tablica koja se zove demotb. Ova ฤ‡e se tablica koristiti za pohranjivanje ID-a i naziva raznih vodiฤa.
  2. Tablica ฤ‡e imati 2 stupca, jedan pod nazivom "TutorialID", a drugi pod nazivom "TutorialName".
  3. Za sada ฤ‡e tablica imati 2 retka kao ลกto je prikazano u nastavku.
ID vodiฤa TutorialName
1 C#
2 ASP.Net

Promijenimo kod u naลกem obrascu, tako da moลพemo traลพiti te podatke i prikazati informacije putem okvira za poruke. Imajte na umu da su svi dolje uneseni kodovi nastavak koda napisanog za podatkovnu vezu u prethodnom odjeljku.

Korak 1) Podijelimo kรดd na 2 dijela kako bi ga korisnik mogao lako razumjeti.

  • Prvi ฤ‡e biti konstruirati naลกu izjavu "select", koja ฤ‡e se koristiti za ฤitanje podataka iz baze podataka.
  • Zatim ฤ‡emo izvrลกiti naredbu "select" prema bazi podataka i dohvatiti sve retke tablice u skladu s tim.

Pristup podacima pomoฤ‡u SqlDataReader

Code Obrazloลพenje:-

  1. Prvi korak je kreiranje sljedeฤ‡ih varijabli
    1. SQLCommand โ€“ 'SQLCommand' je klasa definirana u C#. Ova se klasa koristi za izvoฤ‘enje operacija ฤitanja i pisanja u bazu podataka. Dakle, prvi korak je osigurati da stvorimo tip varijable ove klase. Ova varijabla ฤ‡e se zatim koristiti u sljedeฤ‡im koracima ฤitanja podataka iz naลกe baze podataka.
    2. Objekt DataReader koristi se za dobivanje svih podataka navedenih u SQL upitu. Zatim moลพemo ฤitati sve retke tablice jedan po jedan pomoฤ‡u ฤitaฤa podataka.
    3. Zatim definiramo 2 varijable niza, jedna je "SQL" za drลพanje niza SQL naredbi. Sljedeฤ‡i je "Izlaz" koji ฤ‡e sadrลพavati sve vrijednosti tablice.
  2. Sljedeฤ‡i korak je definiranje SQL naredbe, koja ฤ‡e se koristiti protiv naลกe baze podataka. U naลกem sluฤaju, to je โ€œSelect TutorialID, TutorialName from demotbโ€. Ovo ฤ‡e dohvatiti sve retke iz tablice demotb.
  3. Zatim stvaramo naredbeni objekt koji se koristi za izvrลกavanje SQL naredbe u bazi podataka. U SQL naredbi morate proslijediti objekt veze i SQL niz.
  4. Zatim ฤ‡emo izvrลกiti naredbu ฤitaฤa podataka, koja ฤ‡e dohvatiti sve retke iz tablice demotb.
  5. Sada kada imamo sve retke tablice sa sobom, potreban nam je mehanizam za pristup retku jedan po jedan. Za ovo ฤ‡emo koristiti naredbu while. Naredba while koristit ฤ‡e se za pristup redovima iz ฤitaฤa podataka jedan po jedan. Zatim koristimo metodu GetValue da dobijemo vrijednost TutorialID i TutorialName.

Korak 2) U posljednjem koraku samo ฤ‡emo prikazati izlaz korisniku i zatvoriti sve objekte povezane s operacijom baze podataka.

Pristup podacima pomoฤ‡u SqlDataReader

Code Obrazloลพenje:-

  1. Nastavit ฤ‡emo naลก kod prikazivanjem vrijednosti izlazne varijable pomoฤ‡u porukeBox. Izlazna varijabla ฤ‡e sadrลพavati sve vrijednosti iz tablice demotb.
  2. Konaฤno zatvaramo sve objekte povezane s radom naลกe baze podataka. Zapamtite da je ovo uvijek dobra praksa.

Kada se gornji kod postavi i projekt se pokrene pomoฤ‡u Visual Studija, dobit ฤ‡ete donji izlaz. Nakon ลกto se obrazac prikaลพe, kliknite gumb Poveลพi.

Izlaz:-

Pristup podacima pomoฤ‡u SqlDataReader

Iz izlaza moลพete jasno vidjeti da je program uspio dobiti vrijednosti iz baze podataka. Podaci se zatim prikazuju u okviru s porukom.

C# umetanje u bazu podataka

Baลก kao i pristup podacima, C# takoฤ‘er ima moguฤ‡nost umetanja zapisa u bazu podataka. Da pokaลพemo kako umetnuti zapise u naลกu bazu podataka, uzmimo istu strukturu tablice koja je koriลกtena gore.

ID vodiฤa TutorialName
1 C#
2 ASP.Net

Promijenimo kod u naลกoj formi, tako da moลพemo umetnuti sljedeฤ‡i red u tablicu

ID vodiฤa TutorialName
3 VB.Net

Dakle, dodajmo sljedeฤ‡i kod u naลก program. Donji isjeฤak koda koristit ฤ‡e se za umetanje postojeฤ‡eg zapisa u naลกu bazu podataka.

C# umetanje u bazu podataka

Code Obrazloลพenje:-

  1. Prvi korak je kreiranje sljedeฤ‡ih varijabli
    1. SQLCommand โ€“ Ovaj tip podataka koristi se za definiranje objekata koji se koriste za izvoฤ‘enje SQL operacija nad bazom podataka. Ovaj objekt ฤ‡e sadrลพavati SQL naredbu koja ฤ‡e se izvoditi protiv naลกe baze podataka SQL Servera.
    2. Objekt DataAdapter koristi se za izvoฤ‘enje specifiฤnih SQL operacija kao ลกto su naredbe za umetanje, brisanje i aลพuriranje.
    3. Zatim definiramo varijablu niza, koja je "SQL" za drลพanje niza SQL naredbi.
  2. Sljedeฤ‡i korak je zapravo definiranje SQL naredbe koja ฤ‡e se koristiti protiv naลกe baze podataka. U naลกem sluฤaju izdajemo izjavu o umetanju koja ฤ‡e umetnuti zapis TutorialID=1 i TutorialName=VB.Net
  3. Zatim stvaramo naredbeni objekt koji se koristi za izvrลกavanje SQL naredbe u bazi podataka. U SQL naredbi morate proslijediti objekt veze i SQL niz
  4. U naลกoj naredbi adaptera podataka, sada pridruลพujemo naredbu insert SQL naลกem adapteru. Zatim izdajemo metodu ExecuteNonQuery koja se koristi za izvrลกavanje naredbe Insert u naลกoj bazi podataka. Metoda 'ExecuteNonQuery' koristi se u C# za izdavanje DML naredbi prema bazi podataka. Pod DML izjavama mislimo na operaciju umetanja, brisanja i aลพuriranja. U C#, ako ลพelite izdati bilo koju od ovih naredbi za tablicu, trebate koristiti metodu ExecuteNonQuery.
  5. Konaฤno zatvaramo sve objekte povezane s radom naลกe baze podataka. Zapamtite da je ovo uvijek dobra praksa.

Kada se gornji kod postavi i projekt se izvede pomoฤ‡u Visual Studio-a, dobit ฤ‡ete donji izlaz. Nakon ลกto se obrazac prikaลพe, kliknite gumb Poveลพi.

Izlaz:-

C# umetanje u bazu podataka

Ako odete na SQL Server Express i vidite retke u tablici demotb, vidjet ฤ‡ete redak umetnut kao ลกto je prikazano u nastavku

C# umetanje u bazu podataka

C# aลพuriranje baze podataka

Baลก kao i pristup podacima, C# takoฤ‘er ima moguฤ‡nost aลพuriranja postojeฤ‡ih zapisa iz baze podataka. Da pokaลพemo kako aลพurirati zapise u naลกoj bazi podataka, uzmimo istu strukturu tablice koja je koriลกtena gore.

ID vodiฤa TutorialName
1 C#
2 ASP.Net
3 VB.Net

Promijenimo kod u naลกem obrascu, tako da moลพemo aลพurirati sljedeฤ‡i red. Vrijednost starog retka je TutorialID kao โ€œ3โ€ i Tutorial Name kao โ€œVB.Netโ€. ล to ฤ‡emo aลพurirati na "VB.Net complete" dok ฤ‡e vrijednost retka za ID vodiฤa ostati ista.

Stari red

ID vodiฤa TutorialName
3 VB.Net

Novi red

ID vodiฤa TutorialName
3 VB.Net zavrลกen

Dakle, dodajmo sljedeฤ‡i kod u naลก program. Donji isjeฤak koda koristit ฤ‡e se za aลพuriranje postojeฤ‡eg zapisa u naลกoj bazi podataka.

C# aลพuriranje baze podataka

Primjer C# SqlCommand-a s Code Obrazloลพenje:-

  1. Prvi korak je kreiranje sljedeฤ‡ih varijabli
    1. SQLCommand โ€“ Ovaj tip podataka koristi se za definiranje objekata koji se koriste za izvoฤ‘enje SQL operacija nad bazom podataka. Ovaj objekt ฤ‡e sadrลพavati SQL naredbu koja ฤ‡e se izvoditi protiv naลกe baze podataka SQL Servera.
    2. Objekt dataadapter se koristi za izvoฤ‘enje specifiฤnih SQL operacija kao ลกto su naredbe za umetanje, brisanje i aลพuriranje.
    3. Zatim definiramo string varijablu, koja je SQL za drลพanje naลกeg SQL niza naredbi.
  2. Sljedeฤ‡i korak je definiranje SQL naredbe koja ฤ‡e se koristiti protiv naลกe baze podataka. U naลกem sluฤaju izdajemo izjavu o aลพuriranju, to ฤ‡e aลพurirati naziv vodiฤa u "VB.Net Complete" dok je ID vodiฤa nepromijenjen i zadrลพan kao 3.
  3. Zatim ฤ‡emo stvoriti naredbeni objekt koji se koristi za izvrลกavanje SQL naredbe u bazi podataka. U SQL naredbi ste proslijedili objekt veze i SQL niz.
  4. U naลกoj naredbi adaptera podataka, sada pridruลพujemo naredbu insert SQL naลกem adapteru. Zatim takoฤ‘er izdajemo metodu ExecuteNonQuery koja se koristi za izvrลกavanje naredbe Update u odnosu na naลกu bazu podataka.
  5. Konaฤno zatvaramo sve objekte povezane s radom naลกe baze podataka. Zapamtite da je ovo uvijek dobra praksa.

Kada se gornji kod postavi i projekt se izvede pomoฤ‡u Visual Studio-a, dobit ฤ‡ete donji izlaz. Nakon ลกto se obrazac prikaลพe, kliknite gumb Poveลพi.

Izlaz:-

C# aลพuriranje baze podataka

Ako stvarno odete na SQL Server Express i vidite retke u demotb tablici, vidjet ฤ‡ete da je red uspjeลกno aลพuriran kao ลกto je prikazano u nastavku.

C# aลพuriranje baze podataka

Brisanje zapisa

Baลก kao i pristup podacima, C# takoฤ‘er ima moguฤ‡nost brisanja postojeฤ‡ih zapisa iz baze podataka. Da pokaลพemo kako izbrisati zapise u naลกoj bazi podataka, uzmimo istu strukturu tablice koja je koriลกtena gore.

ID vodiฤa TutorialName
1 C#
2 ASP.Net
3 VB.Net zavrลกen

Promijenimo kod u naลกoj formi, tako da moลพemo izbrisati sljedeฤ‡i red

ID vodiฤa TutorialName
3 VB.Net zavrลกen

Dakle, dodajmo sljedeฤ‡i kod u naลก program. Donji isjeฤak koda koristit ฤ‡e se za brisanje postojeฤ‡eg zapisa u naลกoj bazi podataka.

Brisanje zapisa

Code Obrazloลพenje:-

  1. Kljuฤna razlika u ovom kodu je u tome ลกto sada izdajemo SQL naredbu za brisanje. Naredba delete koristi se za brisanje retka u tablici demotb u kojem TutorialID ima vrijednost 3.
  2. U naลกoj naredbi adaptera podataka, sada pridruลพujemo naredbu insert SQL naลกem adapteru. Zatim izdajemo metodu ExecuteNonQuery koja se koristi za izvrลกavanje naredbe Delete za naลกu bazu podataka.

Kada se gornji kod postavi i projekt se izvede pomoฤ‡u Visual Studio-a, dobit ฤ‡ete donji izlaz. Nakon ลกto se obrazac prikaลพe, kliknite gumb Poveลพi.

Izlaz:-

Brisanje zapisa

Ako stvarno odete na SQL Server Express i vidite retke u demotb tablici, vidjet ฤ‡ete da je red uspjeลกno izbrisan kao ลกto je prikazano u nastavku.

Brisanje zapisa

Povezivanje kontrola s podacima

U ranijim odjeljcima vidjeli smo kako moลพemo koristiti C# naredbe kao ลกto su SQLCommand i SQLReader za dohvaฤ‡anje podataka iz baze podataka. Takoฤ‘er smo vidjeli kako ฤitamo svaki redak tablice i koristimo okvir za poruke za prikaz sadrลพaja tablice korisniku.

Ali oฤito je da korisnici ne ลพele vidjeti podatke poslane putem okvira s porukama i ลพeljeli bi bolje kontrole za prikaz podataka. Uzmimo donju strukturu podataka u tablici

ID vodiฤa TutorialName
1 C#
2 ASP.Net
3 VB.Net zavrลกen

Iz gornje strukture podataka, korisnik bi idealno ลพelio vidjeti ID vodiฤa i naziv vodiฤa prikazane u tekstualnom okviru. Drugo, moลพda bi ลพeljeli imati neku vrstu kontrole gumba koja bi im omoguฤ‡ila odlazak na sljedeฤ‡i zapis ili na prethodni zapis u tablici. Ovo bi zahtijevalo malo dodatnog kodiranja od strane programera.

Dobra je vijest da C# moลพe smanjiti dodatni napor kodiranja dopuลกtajuฤ‡i vezanje kontrola s podacima. To znaฤi da C# moลพe automatski popuniti vrijednost tekstualnog okvira prema odreฤ‘enom polju tablice.

Dakle, moลพete imati 2 tekstualna okvira u Windows formi. Zatim moลพete povezati jedan tekstni okvir s poljem TutorialID, a drugi tekstni okvir s poljem TutorialName. Ovo se povezivanje radi u samom Visual Studio dizajneru i za to ne morate pisati dodatni kod.

Visual Studio ฤ‡e se pobrinuti da za vas napiลกe kod kako bi poveznica radila. Zatim, kada pokrenete svoju aplikaciju, kontrole tekstualnog okvira automatski ฤ‡e se povezati s bazom podataka, dohvatiti podatke i prikazati ih u kontrolama tekstualnog okvira. Nije potrebno kodiranje od strane programera da bi se to postiglo.

Pogledajmo primjer koda kako moลพemo postiฤ‡i vezanje kontrola.

U naลกem primjeru, kreirat ฤ‡emo 2 tekstna okvira na Windows formi. Oni ฤ‡e predstavljati ID vodiฤa i naziv vodiฤa. Oni ฤ‡e u skladu s tim biti vezani za polja Tutorial ID i TutorialName baze podataka.

Slijedimo dolje navedene korake kako bismo to postigli.

Korak 1) Konstruirajte osnovnu formu. U obrascu povucite i ispustite 2 komponente- natpise i tekstne okvire. Zatim provedite sljedeฤ‡e podkorake

  1. Stavite tekstualnu vrijednost prve oznake kao TutorialID
  2. Stavite tekstualnu vrijednost druge oznake kao TutorialName
  3. Stavite svojstvo naziva prvog tekstnog okvira kao txtID
  4. Stavite svojstvo name drugog tekstnog okvira kao txtName

U nastavku je prikazano kako bi obrazac izgledao nakon izvrลกenja gore navedenih koraka.

Povezivanje kontrola s podacima

Korak 2) Sljedeฤ‡i korak je dodavanje obvezujuฤ‡eg Navigatora u obrazac. Kontrola navigatora vezanja moลพe automatski navigirati kroz svaki redak tablice. Da biste dodali navigator uvezivanja, samo idite na okvir s alatima i povucite ga na obrazac.

Povezivanje kontrola s podacima

Korak 3) Sljedeฤ‡i korak je dodavanje vezivanja naลกoj bazi podataka. To se moลพe uฤiniti odlaskom na bilo koju kontrolu Textbox i klikom na svojstvo DataBindings->Text. Binding Navigator koristi se za uspostavljanje veze izmeฤ‘u vaลกe aplikacije i baze podataka.

Kada izvedete ovaj korak, Visual Studio ฤ‡e automatski dodati potreban kod u aplikaciju kako bi provjerio je li aplikacija povezana s bazom podataka. Obiฤno se baza podataka u Visual Studiju naziva Izvor podataka projekta. Da biste osigurali uspostavljanje veze izmeฤ‘u aplikacije i baze podataka, prvi korak je stvaranje izvora podataka projekta.

Prikazat ฤ‡e se sljedeฤ‡i ekran. Kliknite vezu - "Dodaj izvor podataka projekta". Kada kliknete na izvor podataka projekta, prikazat ฤ‡e vam se ฤarobnjak; ovo ฤ‡e vam omoguฤ‡iti da definirate vezu s bazom podataka.

Povezivanje kontrola s podacima

Korak 4) Nakon ลกto kliknete vezu Add Project Data Source, prikazat ฤ‡e vam se ฤarobnjak koji ฤ‡e se koristiti za stvaranje veze s demotb bazom podataka. Sljedeฤ‡i koraci detaljno pokazuju ลกto je potrebno konfigurirati tijekom svakog koraka ฤarobnjaka.

  1. Na ekranu koji se pojavi odaberite vrstu izvora podataka kao bazu podataka i kliknite na sljedeฤ‡i gumb.

Povezivanje kontrola s podacima

  1. Na sljedeฤ‡em ekranu morate pokrenuti stvaranje niza veze s bazom podataka. Niz za povezivanje je potreban kako bi aplikacija uspostavila vezu s bazom podataka. Sadrลพi parametre kao ลกto su naziv posluลพitelja, naziv baze podataka i naziv upravljaฤkog programa.
    1. Pritisnite gumb Nova veza
    2. Odaberite Izvor podataka kao Microsoft SQL Server
    3. Pritisnite gumb Nastavi.

Povezivanje kontrola s podacima

  1. Zatim trebate dodati vjerodajnice za povezivanje s bazom podataka
    1. Odaberite naziv posluลพitelja na kojem se nalazi SQL Server
    2. Unesite korisniฤko ime i lozinku za spajanje na bazu podataka
    3. Odaberite bazu podataka kao demotb
    4. Pritisnite gumb 'OK'.

Povezivanje kontrola s podacima

  1. Na ovom ekranu ฤ‡emo potvrditi sve postavke koje su prenesene na prethodnim ekranima.
    1. Odaberite opciju "Da" za ukljuฤivanje osjetljivih podataka u niz veze
    2. Kliknite gumb "Dalje".

Povezivanje kontrola s podacima

  1. Na sljedeฤ‡em ekranu kliknite gumb "Dalje" za potvrdu stvaranja niza veze

Povezivanje kontrola s podacima

  1. U ovom koraku
  1. Odaberite tablice Demotb-a koje ฤ‡e biti prikazane na sljedeฤ‡em ekranu.
  2. Ova ฤ‡e tablica sada postati dostupan izvor podataka u C# projektu

Povezivanje kontrola s podacima

Kada kliknete gumb Zavrลกi, Visual Studio ฤ‡e sada osigurati da aplikacija moลพe postaviti upit svim redovima u tablici Demotb.

Korak 5) Sada kada je izvor podataka definiran, sada moramo povezati tekstualni okvir TutorialID i TutorialName s tablicom demotb. Kada kliknete na svojstvo Text tekstnog okvira TutorialID ili TutorialName, sada ฤ‡ete vidjeti da je izvor za vezanje na Demotb dostupan.

Za prvi tekstualni okvir odaberite ID vodiฤa. Ponovite ovaj korak za drugi tekstni okvir i odaberite polje kao TutorialName. Koraci u nastavku pokazuju kako moลพemo doฤ‡i do svake kontrole i promijeniti vezanje u skladu s tim.

  1. Kliknite na kontrolu ID vodiฤa.

Povezivanje kontrola s podacima

  1. U prozoru Svojstva vidjet ฤ‡ete svojstva tekstualnog okvira TutorialID. Idite na svojstvo teksta i kliknite gumb sa strelicom prema dolje.

Povezivanje kontrola s podacima

  1. Kada kliknete gumb sa strelicom prema dolje, vidjet ฤ‡ete opciju demotbBinding Source. I ispod ovoga, vidjet ฤ‡ete opcije TutorialName i TutorialID. Odaberite ID vodiฤa.

Povezivanje kontrola s podacima

Ponovite gornja 3 koraka za tekstni okvir Naziv vodiฤa.

  1. Dakle, kliknite na tekstualni okvir Naziv vodiฤa
  2. Idite na prozor svojstava
  3. Odaberite svojstvo Tekst
  4. Odaberite opciju TutorialName pod demotbBindingSource

Korak 6) Zatim moramo promijeniti svojstvo Binding Source BindingNavigatora da pokazuje na naลก Demotb izvor podataka. Razlog zaลกto to ฤinimo je taj ลกto Binding Navigator takoฤ‘er treba znati na koju se tablicu treba odnositi.

Binding Navigator koristi se za odabir sljedeฤ‡eg ili prethodnog zapisa u tablici. Dakle, iako je izvor podataka dodan projektu kao cjelini i kontroli tekstualnog okvira, i dalje moramo osigurati da Binding Navigator takoฤ‘er ima vezu na naลก izvor podataka. Da bismo to uฤinili, moramo kliknuti na objekt Binding navigator, otiฤ‡i na svojstvo Binding Source i odabrati onu koja je dostupna

Povezivanje kontrola s podacima

Zatim moramo otiฤ‡i do prozora Svojstva kako bismo mogli promijeniti svojstvo Binding Source.

Povezivanje kontrola s podacima

Kada se svi gore navedeni koraci uspjeลกno izvrลกe, dobit ฤ‡ete dolje navedeni izlaz.

Izlaz:-

Povezivanje kontrola s podacima

Sada kada je projekt pokrenut, moลพete vidjeti da tekstualni okviri automatski dobivaju vrijednosti iz tablice.

Povezivanje kontrola s podacima

Kada kliknete gumb Sljedeฤ‡e na Navigatoru, automatski prelazite na sljedeฤ‡i zapis u tablici. A vrijednosti sljedeฤ‡eg zapisa automatski dolaze u tekstualne okvire

C# DataGridView

Mreลพe podataka koriste se za prikaz podataka iz tablice u formatu sliฤnom reลกetki. Kada korisnik vidi podatke tablice, obiฤno viลกe voli vidjeti sve retke tablice odjednom. To se moลพe postiฤ‡i ako podatke moลพemo prikazati u mreลพi na obrascu.

C# i Visual Studio imaju ugraฤ‘ene podatkovne mreลพe, koje se mogu koristiti za prikaz podataka. Pogledajmo primjer toga. U naลกem primjeru, imat ฤ‡emo podatkovnu mreลพu koja ฤ‡e se koristiti za prikaz vrijednosti ID-a vodiฤa i Naziva vodiฤa iz tablice demotb.

Korak 1) Povucite kontrolu DataGridView iz okvira s alatima u obrazac u Visual Studio. Kontrola DataGridView koristi se u Visual Studio za prikaz redaka tablice u formatu nalik na reลกetku.

C# DataGridView

Korak 2) U sljedeฤ‡em koraku moramo povezati naลกu podatkovnu mreลพu s bazom podataka. U posljednjem odjeljku stvorili smo izvor podataka projekta. Upotrijebimo isti izvor podataka u naลกem primjeru.

  1. Prvo morate odabrati mreลพu i kliknuti na strelicu u mreลพi. Ovo ฤ‡e prikazati opcije konfiguracije mreลพe.
  2. U konfiguracijskim opcijama samo odaberite izvor podataka kao demotbBindingSource koji je bio izvor podataka stvoren u prethodnom odjeljku.

C# DataGridView

Ako se svi gornji koraci izvrลกe kako je prikazano, dobit ฤ‡ete dolje navedeni izlaz.

Izlaz:-

C# DataGridView

Iz izlaza moลพete vidjeti da je reลกetka popunjena vrijednostima iz baze podataka.

Pitanja i odgovori

Dodajte niz za povezivanje, instancirajte SqlConnection, pozovite Open, pokrenite SqlCommand upite i zatvorite vezu unutar using bloka. ADO.NET podrลพava oboje. Windows i SQL autentifikaciju.

Da. GitHub Copilot, JetBrains AI i Cursor generiraju ADO.NET, Entity Framework i Dapper isjeฤke. Oni objaลกnjavaju nizove za povezivanje i odmah predlaลพu uฤinkovite obrasce upita.

Alati umjetne inteligencije pregledavaju kod za spajanje stringova, preporuฤuju parametrizirane SqlCommand pozive i oznaฤavaju riziฤne LINQ obrasce. Takoฤ‘er predlaลพu pohranjene procedure i parametrizaciju Entity Frameworka.

Ciljevi SQLConnectiona Microsoft SQL Server s izvornim TDS protokolom i najboljim performansama. OleDbConnection radi s bilo kojim OLE DB pruลพateljem usluga, ukljuฤujuฤ‡i Access, Excel i naslijeฤ‘ene baze podataka.

ExecuteScalar pokreฤ‡e upit i vraฤ‡a prvi stupac prvog retka kao objekt. Idealan je za dohvaฤ‡anje jedne agregatne vrijednosti kao ลกto su COUNT, SUM ili MAX.

Uฤitajte rezultate upita u DataTable pomoฤ‡u SqlDataAdapter.Fill, a zatim postavite DataGridView.DataSource na DataTable. Mreลพa automatski prikazuje retke i stupce.

Koristite Entity Framework za produktivnost i bogatu mapu objekatapingKoristite sirovi ADO.NET ili Dapper kada vam trebaju maksimalne performanse, niskorazinska kontrola ili jednostavnije ovisnosti.

Stavite ih u appsettings.json ili User Secrets za .NET 6+, koristite Azure Kljuฤ Vault za produkciju i izbjegavajte ฤvrsto kodirane vjerodajnice unutar izvornih datoteka posveฤ‡enih kontroli verzija.

Saลพmite ovu objavu uz: