Η πρόσβαση σε δεδομένα από μια βάση δεδομένων είναι μία από τις σημαντικές πτυχές οποιασδήποτε γλώσσας προγραμματισμού. Είναι απόλυτη ανάγκη για οποιαδήποτε γλώσσα προγραμματισμού να έχει τη δυνατότητα να συνεργάζεται με βάσεις δεδομένων. Το C # δεν διαφέρει.
Μπορεί να λειτουργήσει με διαφορετικούς τύπους βάσεων δεδομένων. Μπορεί να λειτουργήσει με τις πιο κοινές βάσεις δεδομένων όπως το Oracle και ο Microsoft SQL Server.
Μπορεί επίσης να λειτουργήσει με νέες μορφές βάσεων δεδομένων όπως το MongoDB και το MySQL.
Σε αυτό το σεμινάριο σύνδεσης C # sql, θα μάθετε-
- Βασικές αρχές συνδεσιμότητας βάσης δεδομένων
- Πώς να συνδέσετε το C # στη βάση δεδομένων
- Πρόσβαση σε δεδομένα με το SqlDataReader
- C # Εισαγωγή στη βάση δεδομένων
- Ενημέρωση εγγραφών
- Διαγραφή εγγραφών
- Σύνδεση στοιχείων ελέγχου σε δεδομένα
- C # DataGridView
Βασικές αρχές συνδεσιμότητας βάσης δεδομένων
Τα C # και .Net μπορούν να λειτουργήσουν με την πλειονότητα των βάσεων δεδομένων, με τις πιο κοινές να είναι Oracle και Microsoft SQL Server. Αλλά με κάθε βάση δεδομένων, η λογική πίσω από την εργασία με όλες αυτές είναι ως επί το πλείστον η ίδια.
Στα παραδείγματα μας, θα εξετάσουμε τη λειτουργία του Microsoft SQL Server ως βάση δεδομένων μας. Για μαθησιακούς σκοπούς, μπορεί κανείς να κατεβάσει και να χρησιμοποιήσει τον Microsoft SQL Server Express Edition , το οποίο είναι ένα δωρεάν λογισμικό βάσης δεδομένων που παρέχεται από τη Microsoft.
Κατά την εργασία με βάσεις δεδομένων, τα ακόλουθα είναι οι έννοιες που είναι κοινές σε όλες τις βάσεις δεδομένων.
- Σύνδεση - Για να εργαστείτε με τα δεδομένα σε μια βάση δεδομένων, το πρώτο προφανές βήμα είναι η σύνδεση. Η σύνδεση με μια βάση δεδομένων συνήθως αποτελείται από τις παραμέτρους που αναφέρονται παρακάτω.
- Όνομα βάσης δεδομένων ή Πηγή δεδομένων - Η πρώτη σημαντική παράμετρος είναι το όνομα της βάσης δεδομένων στο οποίο πρέπει να δημιουργηθεί η σύνδεση. Κάθε σύνδεση μπορεί να λειτουργήσει μόνο με μία βάση δεδομένων κάθε φορά.
- Πιστοποιητικά - Η επόμενη σημαντική πτυχή είναι το όνομα χρήστη και ο κωδικός πρόσβασης που πρέπει να χρησιμοποιηθούν για τη δημιουργία σύνδεσης με τη βάση δεδομένων. Διασφαλίζει ότι το όνομα χρήστη και ο κωδικός πρόσβασης έχουν τα απαραίτητα προνόμια για σύνδεση στη βάση δεδομένων.
- Προαιρετικές παράμετροι - Για κάθε τύπο βάσης δεδομένων, μπορείτε να καθορίσετε προαιρετικές παραμέτρους για να παρέχετε περισσότερες πληροφορίες σχετικά με το πώς το .net πρέπει να χειριστεί τη σύνδεση στη βάση δεδομένων. Για παράδειγμα, μπορεί κανείς να καθορίσει μια παράμετρο για το πόσο καιρό θα πρέπει να παραμείνει ενεργή η σύνδεση. Εάν δεν εκτελείται καμία λειτουργία για ένα συγκεκριμένο χρονικό διάστημα, τότε η παράμετρος θα καθορίσει εάν η σύνδεση πρέπει να κλείσει.
- Επιλογή δεδομένων από τη βάση δεδομένων - Μόλις πραγματοποιηθεί η σύνδεση, η επόμενη σημαντική πτυχή είναι η ανάκτηση των δεδομένων από τη βάση δεδομένων. Το C # μπορεί να εκτελέσει την εντολή επιλογής «SQL» στη βάση δεδομένων. Η δήλωση «SQL» μπορεί να χρησιμοποιηθεί για τη λήψη δεδομένων από έναν συγκεκριμένο πίνακα στη βάση δεδομένων.
- Εισαγωγή δεδομένων στη βάση δεδομένων - Το C # μπορεί επίσης να χρησιμοποιηθεί για την εισαγωγή εγγραφών στη βάση δεδομένων. Οι τιμές μπορούν να καθοριστούν σε C # για κάθε σειρά που πρέπει να εισαχθεί στη βάση δεδομένων.
- Ενημέρωση δεδομένων στη βάση δεδομένων - Το C # μπορεί επίσης να χρησιμοποιηθεί για την ενημέρωση υπαρχόντων εγγραφών στη βάση δεδομένων. Νέες τιμές μπορούν να καθοριστούν στο C # για κάθε σειρά που πρέπει να ενημερωθεί στη βάση δεδομένων.
- Διαγραφή δεδομένων από μια βάση δεδομένων - το C # μπορεί επίσης να χρησιμοποιηθεί για τη διαγραφή εγγραφών στη βάση δεδομένων. Επιλέξτε εντολές για να καθορίσετε ποιες γραμμές πρέπει να διαγραφούν μπορούν να καθοριστούν στο C #.
Εντάξει, τώρα που έχουμε δει τη θεωρία κάθε λειτουργίας, ας περάσουμε στις περαιτέρω ενότητες για να δούμε πώς μπορούμε να εκτελέσουμε λειτουργίες βάσης δεδομένων στο C #.
Εντολή SQL στο c #
SqlCommand στο C # επιτρέπουν στο χρήστη να υποβάλλει ερωτήματα και να στέλνει τις εντολές στη βάση δεδομένων. Η εντολή SQL καθορίζεται από το αντικείμενο σύνδεσης SQL. Χρησιμοποιούνται δύο μέθοδοι, η μέθοδος ExecuteReader για τα αποτελέσματα του ερωτήματος και το ExecuteNonQuery για εντολές εισαγωγής, ενημέρωσης και διαγραφής. Είναι η μέθοδος που είναι η καλύτερη για τις διάφορες εντολές.
Πώς να συνδέσετε το C # στη βάση δεδομένων
Ας δούμε τώρα τον κώδικα, ο οποίος πρέπει να διατηρηθεί στη θέση του για τη δημιουργία σύνδεσης σε μια βάση δεδομένων. Στο παράδειγμά μας, θα συνδεθούμε με μια βάση δεδομένων που έχει το όνομα Demodb. Τα διαπιστευτήρια που χρησιμοποιούνται για τη σύνδεση στη βάση δεδομένων δίνονται παρακάτω
- Όνομα χρήστη - sa
- Κωδικός πρόσβασης - demo123
Θα δούμε μια απλή εφαρμογή φόρμας των Windows που θα λειτουργεί με βάσεις δεδομένων. Θα έχουμε ένα απλό κουμπί που ονομάζεται "Σύνδεση" το οποίο θα χρησιμοποιηθεί για σύνδεση στη βάση δεδομένων.
Ας ακολουθήσουμε λοιπόν τα παρακάτω βήματα για να το επιτύχουμε
Βήμα 1) Το πρώτο βήμα περιλαμβάνει τη δημιουργία ενός νέου έργου στο Visual Studio. Μετά την εκκίνηση του Visual Studio, πρέπει να επιλέξετε το μενού New-> Project.
Βήμα 2) Το επόμενο βήμα είναι να επιλέξετε τον τύπο έργου ως εφαρμογή Windows Forms. Εδώ, πρέπει επίσης να αναφέρουμε το όνομα και την τοποθεσία του έργου μας.
- Στο παράθυρο διαλόγου έργου, μπορούμε να δούμε διάφορες επιλογές για τη δημιουργία διαφορετικών τύπων έργων στο Visual Studio. Κάντε κλικ στην επιλογή Windows στην αριστερή πλευρά.
- Όταν κάνουμε κλικ στις επιλογές των Windows στο προηγούμενο βήμα, θα είμαστε σε θέση να δούμε μια επιλογή για την εφαρμογή Windows Forms. Κάντε κλικ σε αυτήν την επιλογή.
- Στη συνέχεια δίνουμε ένα όνομα για την εφαρμογή που στην περίπτωσή μας είναι "DemoApplication". Πρέπει επίσης να παρέχουμε μια τοποθεσία για την αποθήκευση της εφαρμογής μας.
- Τέλος, κάνουμε κλικ στο κουμπί "OK" για να αφήσουμε το Visual Studio να δημιουργήσει το έργο μας.
Βήμα 3) Τώρα προσθέστε ένα κουμπί από την εργαλειοθήκη στη φόρμα των Windows. Τοποθετήστε την ιδιότητα κειμένου του κουμπιού ως σύνδεση. Έτσι θα μοιάζει
Βήμα 4) Τώρα κάντε διπλό κλικ στη φόρμα έτσι ώστε να προστεθεί ένας χειριστής συμβάντων στον κώδικα για το συμβάν κλικ κουμπιού Στη διαχείριση συμβάντων, προσθέστε τον παρακάτω κωδικό.
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();}}}
Επεξήγηση κώδικα: -
- Το πρώτο βήμα είναι η δημιουργία μεταβλητών, οι οποίες θα χρησιμοποιηθούν για τη δημιουργία της συμβολοσειράς σύνδεσης και της σύνδεσης στη βάση δεδομένων του SQL Server.
- Το επόμενο βήμα είναι να δημιουργήσετε τη συμβολοσειρά σύνδεσης. Η συμβολοσειρά σύνδεσης πρέπει να καθοριστεί σωστά για να κατανοήσει το C # τη συμβολοσειρά σύνδεσης. Η συμβολοσειρά σύνδεσης αποτελείται από τα ακόλουθα μέρη
- Πηγή δεδομένων - Αυτό είναι το όνομα του διακομιστή στον οποίο βρίσκεται η βάση δεδομένων. Στην περίπτωσή μας, βρίσκεται σε ένα μηχάνημα που ονομάζεται WIN- 50GP30FGO75.
- Ο Αρχικός Κατάλογος χρησιμοποιείται για να καθορίσει το όνομα της βάσης δεδομένων
- Το UserID και ο κωδικός πρόσβασης είναι τα διαπιστευτήρια που απαιτούνται για τη σύνδεση στη βάση δεδομένων.
- Στη συνέχεια, εκχωρούμε τη συμβολοσειρά σύνδεσης στη μεταβλητή cnn. Η μεταβλητή cnn, που είναι τύπου SqlConnection χρησιμοποιείται για τη δημιουργία της σύνδεσης με τη βάση δεδομένων.
- Στη συνέχεια, χρησιμοποιούμε τη μέθοδο Open της μεταβλητής cnn για να ανοίξουμε μια σύνδεση με τη βάση δεδομένων. Στη συνέχεια, απλώς εμφανίζουμε ένα μήνυμα στον χρήστη ότι η σύνδεση έχει δημιουργηθεί.
- Μόλις ολοκληρωθεί με επιτυχία η λειτουργία, κλείνουμε τη σύνδεση στη βάση δεδομένων. Είναι πάντοτε καλή πρακτική να κλείνετε τη σύνδεση με τη βάση δεδομένων, εάν δεν απαιτείται να γίνει κάτι άλλο στη βάση δεδομένων.
Όταν ο παραπάνω κώδικας έχει οριστεί και το έργο εκτελεστεί χρησιμοποιώντας το Visual Studio, θα λάβετε την παρακάτω έξοδο. Μόλις εμφανιστεί η φόρμα, κάντε κλικ στο κουμπί Σύνδεση.
Παραγωγή:-
Όταν κάνετε κλικ στο κουμπί "σύνδεση", από την έξοδο, μπορείτε να δείτε ότι δημιουργήθηκε η σύνδεση βάσης δεδομένων. Ως εκ τούτου, εμφανίστηκε το πλαίσιο μηνυμάτων.
Πρόσβαση σε δεδομένα με το SqlDataReader
Για να δείξουμε πώς μπορούν να προσπελαστούν τα δεδομένα χρησιμοποιώντας το C #, ας υποθέσουμε ότι έχουμε τα ακόλουθα αντικείμενα στη βάση δεδομένων μας.
- Ένας πίνακας που ονομάζεται demotb. Αυτός ο πίνακας θα χρησιμοποιηθεί για την αποθήκευση του αναγνωριστικού και των ονομάτων διαφόρων οδηγών.
- Ο πίνακας θα έχει 2 στήλες, μία ονομάζεται "TutorialID" και η άλλη ονομάζεται "TutorialName."
- Προς το παρόν, ο πίνακας θα έχει 2 σειρές όπως φαίνεται παρακάτω.
Εκπαιδευτικό αναγνωριστικό |
Εκπαιδευτικό όνομα |
1 |
ΝΤΟ# |
2 |
ASP.Net |
Ας αλλάξουμε τον κωδικό στη φόρμα μας, έτσι ώστε να μπορούμε να ζητήσουμε αυτά τα δεδομένα και να εμφανίσουμε τις πληροφορίες μέσω ενός μηνύματος Σημειώστε ότι όλοι οι κωδικοί που εισάγονται παρακάτω είναι συνέχεια του κώδικα που γράφτηκε για τη σύνδεση δεδομένων στην προηγούμενη ενότητα.
Βήμα 1) Ας χωρίσουμε τον κώδικα σε 2 μέρη, ώστε να είναι κατανοητό για τον χρήστη.
- Το πρώτο θα είναι η κατασκευή της δήλωσης "select", η οποία θα χρησιμοποιηθεί για την ανάγνωση των δεδομένων από τη βάση δεδομένων.
- Στη συνέχεια θα εκτελέσουμε τη δήλωση "select" στη βάση δεδομένων και θα ανακτήσουμε όλες τις σειρές του πίνακα ανάλογα.
Επεξήγηση κώδικα: -
- Το πρώτο βήμα είναι να δημιουργήσετε τις ακόλουθες μεταβλητές
- SQLCommand - Το «SQLCommand» είναι μια κλάση που ορίζεται στο C #. Αυτή η τάξη χρησιμοποιείται για την εκτέλεση εργασιών ανάγνωσης και γραφής στη βάση δεδομένων. Ως εκ τούτου, το πρώτο βήμα είναι να βεβαιωθείτε ότι δημιουργούμε έναν μεταβλητό τύπο αυτής της τάξης. Αυτή η μεταβλητή θα χρησιμοποιηθεί στη συνέχεια σε επόμενα βήματα ανάγνωσης δεδομένων από τη βάση δεδομένων μας.
- Το αντικείμενο DataReader χρησιμοποιείται για τη λήψη όλων των δεδομένων που καθορίζονται από το ερώτημα SQL. Στη συνέχεια, μπορούμε να διαβάσουμε όλες τις σειρές πίνακα μία προς μία χρησιμοποιώντας τη συσκευή ανάγνωσης δεδομένων.
- Στη συνέχεια ορίζουμε 2 μεταβλητές συμβολοσειρών, μία είναι "SQL" για να διατηρήσουμε τη συμβολοσειρά εντολών SQL. Το επόμενο είναι το "Έξοδος" που θα περιέχει όλες τις τιμές του πίνακα.
- Το επόμενο βήμα είναι να ορίσετε τη δήλωση SQL, η οποία θα χρησιμοποιηθεί στη βάση δεδομένων μας. Στην περίπτωσή μας, είναι "Select TutorialID, TutorialName from demotb". Αυτό θα πάρει όλες τις σειρές από τον πίνακα demotb.
- Στη συνέχεια, δημιουργούμε το αντικείμενο εντολής που χρησιμοποιείται για την εκτέλεση της δήλωσης SQL έναντι της βάσης δεδομένων. Στην εντολή SQL, πρέπει να περάσετε το αντικείμενο σύνδεσης και τη συμβολοσειρά SQL.
- Στη συνέχεια, θα εκτελέσουμε την εντολή του προγράμματος ανάγνωσης δεδομένων, η οποία θα πάρει όλες τις σειρές από τον πίνακα demotb.
- Τώρα που έχουμε όλες τις σειρές του τραπεζιού μαζί μας, χρειαζόμαστε έναν μηχανισμό για πρόσβαση στη σειρά μία προς μία. Για αυτό, θα χρησιμοποιήσουμε τη δήλωση while. Η δήλωση while θα χρησιμοποιείται για πρόσβαση στις σειρές από τον αναγνώστη δεδομένων μία κάθε φορά. Στη συνέχεια, χρησιμοποιούμε τη μέθοδο GetValue για να λάβουμε την τιμή των TutorialID και TutorialName.
Βήμα 2) Στο τελευταίο βήμα, θα εμφανίσουμε απλώς την έξοδο στον χρήστη και θα κλείσουμε όλα τα αντικείμενα που σχετίζονται με τη λειτουργία της βάσης δεδομένων.
Επεξήγηση κώδικα: -
- Θα συνεχίσουμε τον κωδικό μας εμφανίζοντας την τιμή της μεταβλητής εξόδου χρησιμοποιώντας το MessageBox. Η μεταβλητή εξόδου θα περιέχει όλες τις τιμές από τον πίνακα demotb.
- Τελικά κλείνουμε όλα τα αντικείμενα που σχετίζονται με τη λειτουργία της βάσης δεδομένων μας. Θυμηθείτε ότι αυτή είναι πάντα μια καλή πρακτική.
Όταν ο παραπάνω κώδικας έχει οριστεί και το έργο εκτελείται χρησιμοποιώντας το Visual Studio, θα λάβετε την παρακάτω έξοδο. Μόλις εμφανιστεί η φόρμα, κάντε κλικ στο κουμπί Σύνδεση.
Παραγωγή:-
Από την έξοδο, μπορείτε να δείτε ξεκάθαρα ότι το πρόγραμμα μπόρεσε να πάρει τις τιμές από τη βάση δεδομένων. Στη συνέχεια, τα δεδομένα εμφανίζονται στο πλαίσιο μηνυμάτων.
C # Εισαγωγή στη βάση δεδομένων
Ακριβώς όπως η πρόσβαση σε δεδομένα, το C # έχει τη δυνατότητα να εισάγει εγγραφές στη βάση δεδομένων επίσης. Για να δείξουμε πώς να εισάγουμε εγγραφές στη βάση δεδομένων μας, ας πάρουμε την ίδια δομή πίνακα που χρησιμοποιήθηκε παραπάνω.
Εκπαιδευτικό αναγνωριστικό |
Εκπαιδευτικό όνομα |
1 |
ΝΤΟ# |
2 |
ASP.Net |
Ας αλλάξουμε τον κωδικό στη φόρμα μας, ώστε να μπορέσουμε να εισάγουμε την ακόλουθη σειρά στον πίνακα
Εκπαιδευτικό αναγνωριστικό |
Εκπαιδευτικό όνομα |
3 |
VB.Net |
Ας προσθέσουμε λοιπόν τον ακόλουθο κώδικα στο πρόγραμμά μας. Το παρακάτω απόσπασμα κώδικα θα χρησιμοποιηθεί για την εισαγωγή μιας υπάρχουσας εγγραφής στη βάση δεδομένων μας.
Επεξήγηση κώδικα: -
- Το πρώτο βήμα είναι να δημιουργήσετε τις ακόλουθες μεταβλητές
- SQLCommand - Αυτός ο τύπος δεδομένων χρησιμοποιείται για τον καθορισμό αντικειμένων που χρησιμοποιούνται για την εκτέλεση λειτουργιών SQL έναντι μιας βάσης δεδομένων. Αυτό το αντικείμενο θα διατηρήσει την εντολή SQL που θα εκτελεστεί στη βάση δεδομένων του SQL Server.
- Το αντικείμενο DataAdapter χρησιμοποιείται για την εκτέλεση συγκεκριμένων λειτουργιών SQL όπως εντολές εισαγωγής, διαγραφής και ενημέρωσης.
- Στη συνέχεια ορίζουμε μια μεταβλητή συμβολοσειράς, η οποία είναι "SQL" για να διατηρήσουμε τη συμβολοσειρά εντολών SQL.
- Το επόμενο βήμα είναι να ορίσουμε πραγματικά τη δήλωση SQL που θα χρησιμοποιηθεί στη βάση δεδομένων μας. Στην περίπτωσή μας, εκδίδουμε μια δήλωση εισαγωγής, η οποία θα εισαγάγει την εγγραφή των TutorialID = 1 και TutorialName = VB.Net
- Στη συνέχεια, δημιουργούμε το αντικείμενο εντολής που χρησιμοποιείται για την εκτέλεση της δήλωσης SQL έναντι της βάσης δεδομένων. Στην εντολή SQL, πρέπει να περάσετε το αντικείμενο σύνδεσης και τη συμβολοσειρά SQL
- Στην εντολή προσαρμογέα δεδομένων μας, συσχετίζουμε τώρα την εντολή ένθετου SQL στον προσαρμογέα μας. Στη συνέχεια εκδίδουμε επίσης τη μέθοδο ExecuteNonQuery που χρησιμοποιείται για την εκτέλεση της δήλωσης Εισαγωγή στη βάση δεδομένων μας. Η μέθοδος "ExecuteNonQuery" χρησιμοποιείται στο C # για την έκδοση οποιωνδήποτε δηλώσεων DML στη βάση δεδομένων. Με δηλώσεις DML, εννοούμε τη λειτουργία εισαγωγής, διαγραφής και ενημέρωσης. Στο C #, εάν θέλετε να εκδώσετε οποιαδήποτε από αυτές τις δηλώσεις σε έναν πίνακα, πρέπει να χρησιμοποιήσετε τη μέθοδο ExecuteNonQuery.
- Τελικά κλείνουμε όλα τα αντικείμενα που σχετίζονται με τη λειτουργία της βάσης δεδομένων μας. Θυμηθείτε ότι αυτή είναι πάντα μια καλή πρακτική.
Όταν ο παραπάνω κώδικας έχει οριστεί και το έργο εκτελεστεί χρησιμοποιώντας το Visual Studio, θα λάβετε την παρακάτω έξοδο. Μόλις εμφανιστεί η φόρμα, κάντε κλικ στο κουμπί Σύνδεση.
Παραγωγή:-
Εάν μεταβείτε στο SQL Server Express και δείτε τις σειρές στον πίνακα demotb, θα δείτε τη σειρά που έχει εισαχθεί όπως φαίνεται παρακάτω
C # Ενημέρωση βάσης δεδομένων
Ακριβώς όπως η πρόσβαση σε δεδομένα, το C # έχει τη δυνατότητα να ενημερώνει υπάρχουσες εγγραφές από τη βάση δεδομένων. Για να δείξουμε πώς να ενημερώσουμε τις εγγραφές στη βάση δεδομένων μας, ας πάρουμε την ίδια δομή πίνακα που χρησιμοποιήθηκε παραπάνω.
Εκπαιδευτικό αναγνωριστικό |
Εκπαιδευτικό όνομα |
1 |
ΝΤΟ# |
2 |
ASP.Net |
3 |
VB.Net |
Ας αλλάξουμε τον κώδικα στη φόρμα μας, ώστε να ενημερώσουμε την ακόλουθη σειρά. Η παλιά τιμή γραμμής είναι TutorialID ως "3" και Tutorial Name ως "VB.Net". Ποιο θα το ενημερώσουμε σε "VB.Net complete", ενώ η τιμή γραμμής για το αναγνωριστικό αναγνωριστικού θα παραμείνει ίδια.
Παλιά σειρά
Εκπαιδευτικό αναγνωριστικό |
Εκπαιδευτικό όνομα |
3 |
VB.Net |
Νέα σειρά
Εκπαιδευτικό αναγνωριστικό |
Εκπαιδευτικό όνομα |
3 |
Ολοκληρωμένο VB.Net |
Ας προσθέσουμε λοιπόν τον ακόλουθο κώδικα στο πρόγραμμά μας. Το παρακάτω απόσπασμα κώδικα θα χρησιμοποιηθεί για την ενημέρωση μιας υπάρχουσας εγγραφής στη βάση δεδομένων μας.
C # SqlCommand Παράδειγμα με επεξήγηση κώδικα: -
- Το πρώτο βήμα είναι να δημιουργήσετε τις ακόλουθες μεταβλητές
- SQLCommand - Αυτός ο τύπος δεδομένων χρησιμοποιείται για τον καθορισμό αντικειμένων που χρησιμοποιούνται για την εκτέλεση λειτουργιών SQL έναντι μιας βάσης δεδομένων. Αυτό το αντικείμενο θα διατηρήσει την εντολή SQL που θα εκτελεστεί στη βάση δεδομένων του SQL Server.
- Το αντικείμενο του προσαρμογέα δεδομένων χρησιμοποιείται για την εκτέλεση συγκεκριμένων λειτουργιών SQL όπως εντολές εισαγωγής, διαγραφής και ενημέρωσης.
- Στη συνέχεια ορίζουμε μια μεταβλητή συμβολοσειράς, η οποία είναι SQL για να κρατήσει τη συμβολοσειρά εντολών SQL.
- Το επόμενο βήμα είναι να ορίσετε τη δήλωση SQL που θα χρησιμοποιηθεί στη βάση δεδομένων μας. Στην περίπτωσή μας εκδίδουμε μια δήλωση ενημέρωσης, αυτό θα ενημερώσει το όνομα Tutorial σε "VB.Net Complete" ενώ το TutorialID είναι αμετάβλητο και διατηρείται ως 3.
- Στη συνέχεια, θα δημιουργήσουμε το αντικείμενο εντολής, το οποίο χρησιμοποιείται για την εκτέλεση της δήλωσης SQL έναντι της βάσης δεδομένων. Στην εντολή SQL, έχετε περάσει το αντικείμενο σύνδεσης και τη συμβολοσειρά SQL.
- Στην εντολή προσαρμογέα δεδομένων μας, συσχετίζουμε τώρα την εντολή ένθετου SQL στον προσαρμογέα μας. Στη συνέχεια, εκδίδουμε επίσης τη μέθοδο ExecuteNonQuery που χρησιμοποιείται για την εκτέλεση της δήλωσης ενημέρωσης στη βάση δεδομένων μας.
- Τελικά κλείνουμε όλα τα αντικείμενα που σχετίζονται με τη λειτουργία της βάσης δεδομένων μας. Θυμηθείτε ότι αυτή είναι πάντα μια καλή πρακτική.
Όταν ο παραπάνω κώδικας έχει οριστεί και το έργο εκτελεστεί χρησιμοποιώντας το Visual Studio, θα λάβετε την παρακάτω έξοδο. Μόλις εμφανιστεί η φόρμα, κάντε κλικ στο κουμπί Σύνδεση.
Παραγωγή:-
Εάν στην πραγματικότητα πηγαίνετε στο SQL Server Express και δείτε τις σειρές στον πίνακα demotb, θα δείτε ότι η σειρά ενημερώθηκε επιτυχώς όπως φαίνεται παρακάτω.
Διαγραφή εγγραφών
Όπως και η πρόσβαση σε δεδομένα, το C # έχει τη δυνατότητα να διαγράψει υπάρχουσες εγγραφές από τη βάση δεδομένων. Για να δείξουμε πώς να διαγράψουμε εγγραφές στη βάση δεδομένων μας, ας πάρουμε την ίδια δομή πίνακα που χρησιμοποιήθηκε παραπάνω.
Εκπαιδευτικό αναγνωριστικό |
Εκπαιδευτικό όνομα |
1 |
ΝΤΟ# |
2 |
ASP.Net |
3 |
Ολοκληρωμένο VB.Net |
Ας αλλάξουμε τον κωδικό στη φόρμα μας, ώστε να διαγράψουμε την ακόλουθη σειρά
Εκπαιδευτικό αναγνωριστικό |
Εκπαιδευτικό όνομα |
3 |
Ολοκληρωμένο VB.Net |
Ας προσθέσουμε λοιπόν τον ακόλουθο κώδικα στο πρόγραμμά μας. Το παρακάτω απόσπασμα κώδικα θα χρησιμοποιηθεί για τη διαγραφή μιας υπάρχουσας εγγραφής στη βάση δεδομένων μας.
Επεξήγηση κώδικα: -
- Η βασική διαφορά σε αυτόν τον κώδικα είναι ότι εκδίδουμε τώρα τη δήλωση διαγραφής SQL. Η δήλωση διαγραφής χρησιμοποιείται για τη διαγραφή της σειράς στον πίνακα demotb στον οποίο το TutorialID έχει τιμή 3.
- Στην εντολή προσαρμογέα δεδομένων μας, συσχετίζουμε τώρα την εντολή ένθετου SQL στον προσαρμογέα μας. Στη συνέχεια εκδίδουμε επίσης τη μέθοδο ExecuteNonQuery που χρησιμοποιείται για την εκτέλεση της δήλωσης Delete στη βάση δεδομένων μας.
Όταν ο παραπάνω κώδικας έχει οριστεί και το έργο εκτελεστεί χρησιμοποιώντας το Visual Studio, θα λάβετε την παρακάτω έξοδο. Μόλις εμφανιστεί η φόρμα, κάντε κλικ στο κουμπί Σύνδεση.
Παραγωγή:-
Εάν μεταβείτε στην πραγματικότητα στον SQL Server Express και δείτε τις σειρές στον πίνακα demotb, θα δείτε ότι η σειρά διαγράφηκε επιτυχώς όπως φαίνεται παρακάτω.
Σύνδεση στοιχείων ελέγχου σε δεδομένα
Στις προηγούμενες ενότητες, έχουμε δει πώς μπορούμε να χρησιμοποιήσουμε εντολές C # όπως SQLCommand και SQLReader για τη λήψη δεδομένων από μια βάση δεδομένων. Είδαμε επίσης πώς διαβάζουμε κάθε σειρά του πίνακα και χρησιμοποιούμε ένα πλαίσιο μηνυμάτων για να εμφανίσουμε τα περιεχόμενα ενός πίνακα στον χρήστη.
Αλλά προφανώς, οι χρήστες δεν θέλουν να δουν δεδομένα που αποστέλλονται μέσω κουτιών μηνυμάτων και θα ήθελαν καλύτερα στοιχεία ελέγχου για την εμφάνιση των δεδομένων. Ας πάρουμε την παρακάτω δομή δεδομένων σε έναν πίνακα
Εκπαιδευτικό αναγνωριστικό |
Εκπαιδευτικό όνομα |
1 |
ΝΤΟ# |
2 |
ASP.Net |
3 |
Ολοκληρωμένο VB.Net |
Από την παραπάνω δομή δεδομένων, ο χρήστης θα ήθελε ιδανικά να δει το TutorialID και το Tutorial Name να εμφανίζονται σε πλαίσιο κειμένου. Δεύτερον, μπορεί να θέλουν να έχουν κάποιο είδος ελέγχου κουμπιών που θα τους επέτρεπε να μεταβούν στην επόμενη εγγραφή ή στην προηγούμενη εγγραφή στον πίνακα. Αυτό θα απαιτούσε λίγο επιπλέον κωδικοποίηση από το τέλος του προγραμματιστή.
Τα καλά νέα είναι ότι το C # μπορεί να μειώσει την πρόσθετη προσπάθεια κωδικοποίησης επιτρέποντας τη δέσμευση των στοιχείων ελέγχου στα δεδομένα. Αυτό σημαίνει ότι το C # μπορεί να συμπληρώσει αυτόματα την τιμή του πλαισίου κειμένου σύμφωνα με ένα συγκεκριμένο πεδίο του πίνακα.
Έτσι, μπορείτε να έχετε 2 πλαίσια κειμένου σε μορφή παραθύρου. Στη συνέχεια, μπορείτε να συνδέσετε ένα πλαίσιο κειμένου στο πεδίο TutorialID και ένα άλλο πλαίσιο κειμένου στο πεδίο TutorialName. Αυτή η σύνδεση γίνεται στον ίδιο τον σχεδιαστή του Visual Studio και δεν χρειάζεται να γράψετε επιπλέον κώδικα για αυτό.
Το Visual Studio θα διασφαλίσει ότι γράφει τον κώδικα για να διασφαλίσετε ότι η σύνδεση λειτουργεί. Στη συνέχεια, όταν εκτελείτε την εφαρμογή σας, τα στοιχεία ελέγχου του πλαισίου κειμένου θα συνδεθούν αυτόματα στη βάση δεδομένων, θα λάβουν τα δεδομένα και θα τα εμφανίσουν στα στοιχεία ελέγχου του πλαισίου κειμένου. Δεν απαιτείται κωδικοποίηση από το τέλος του προγραμματιστή για να επιτευχθεί αυτό.
Ας δούμε ένα παράδειγμα κώδικα για το πώς μπορούμε να επιτύχουμε δέσμευση των ελέγχων.
Στο παράδειγμά μας, πρόκειται να δημιουργήσουμε 2 πλαίσια κειμένου στη φόρμα των παραθύρων. Θα αντιπροσωπεύουν το αναγνωριστικό αναγνωριστικού και το όνομα εκπαιδευτικού προγράμματος αντίστοιχα. Θα δεσμευτούν ανάλογα με τα αναγνωριστικά Tutorial και τα TutorialName πεδία της βάσης δεδομένων.
Ας ακολουθήσουμε τα παρακάτω βήματα για να το επιτύχουμε.
Βήμα 1) Κατασκευάστε τη βασική φόρμα. Στη φόρμα μεταφορά και απόθεση 2 συστατικών - ετικέτες και πλαίσια κειμένου. Στη συνέχεια, εκτελέστε τα ακόλουθα υποκατάστατα
- Βάλτε την τιμή κειμένου της πρώτης ετικέτας ως TutorialID
- Βάλτε την τιμή κειμένου της δεύτερης ετικέτας ως TutorialName
- Τοποθετήστε την ιδιότητα ονόματος του πρώτου πλαισίου κειμένου ως txtID
- Βάλτε την ιδιότητα ονόματος του δεύτερου πλαισίου κειμένου ως txtName
Παρακάτω είναι ο τρόπος εμφάνισης της φόρμας όταν εκτελούνται τα παραπάνω βήματα.
Βήμα 2) Το επόμενο βήμα είναι να προσθέσετε ένα δεσμευτικό Navigator στη φόρμα. Το δεσμευτικό στοιχείο ελέγχου πλοήγησης μπορεί να πλοηγηθεί αυτόματα σε κάθε σειρά του πίνακα. Για να προσθέσετε το δεσμευτικό πλοηγό, απλώς μεταβείτε στην εργαλειοθήκη και σύρετέ το στη φόρμα.
Βήμα 3) Το επόμενο βήμα είναι να προσθέσετε μια δέσμευση στη βάση δεδομένων μας. Αυτό μπορεί να γίνει μεταβαίνοντας σε οποιοδήποτε από τα στοιχεία ελέγχου του πλαισίου κειμένου και κάνοντας κλικ στην ιδιότητα DataBindings-> Text. Το Binding Navigator χρησιμοποιείται για τη δημιουργία συνδέσμου από την εφαρμογή σας σε μια βάση δεδομένων.
Όταν εκτελέσετε αυτό το βήμα, το Visual Studio θα προσθέσει αυτόματα τον απαιτούμενο κωδικό στην εφαρμογή για να βεβαιωθείτε ότι η εφαρμογή είναι συνδεδεμένη στη βάση δεδομένων. Κανονικά η βάση δεδομένων στο Visual Studio αναφέρεται ως πηγή δεδομένων έργου. Έτσι, για να διασφαλιστεί η σύνδεση μεταξύ της εφαρμογής και της βάσης δεδομένων, το πρώτο βήμα είναι να δημιουργήσετε μια πηγή δεδομένων έργου.
Θα εμφανιστεί η ακόλουθη οθόνη. Κάντε κλικ στο σύνδεσμο- "Προσθήκη πηγής δεδομένων έργου". Όταν κάνετε κλικ στην πηγή δεδομένων του έργου, θα εμφανιστεί ένας οδηγός. Αυτό θα σας επιτρέψει να ορίσετε τη σύνδεση βάσης δεδομένων.
Βήμα 4) Μόλις κάνετε κλικ στο σύνδεσμο Προσθήκη προέλευσης δεδομένων έργου, θα εμφανιστεί ένας οδηγός που θα χρησιμοποιηθεί για τη δημιουργία σύνδεσης με τη βάση δεδομένων demotb. Τα παρακάτω βήματα δείχνουν λεπτομερώς τι πρέπει να ρυθμιστεί σε κάθε βήμα του οδηγού.
- Στην οθόνη που εμφανίζεται, επιλέξτε τον τύπο προέλευσης δεδομένων ως βάση δεδομένων και, στη συνέχεια, κάντε κλικ στο επόμενο κουμπί.
- Στην επόμενη οθόνη, πρέπει να ξεκινήσετε τη δημιουργία της συμβολοσειράς σύνδεσης στη βάση δεδομένων. Η συμβολοσειρά σύνδεσης απαιτείται για την εφαρμογή της σύνδεσης με τη βάση δεδομένων. Περιέχει τις παραμέτρους όπως το όνομα διακομιστή, το όνομα της βάσης δεδομένων και το όνομα του προγράμματος οδήγησης.
- Κάντε κλικ στο κουμπί Νέα σύνδεση
- Επιλέξτε την Πηγή δεδομένων ως Microsoft SQL Server
- Κάντε κλικ στο κουμπί Συνέχεια.
- Στη συνέχεια, πρέπει να προσθέσετε τα διαπιστευτήρια για να συνδεθείτε στη βάση δεδομένων
- Επιλέξτε το όνομα διακομιστή στον οποίο βρίσκεται ο διακομιστής SQL
- Εισαγάγετε το αναγνωριστικό χρήστη και τον κωδικό πρόσβασης για να συνδεθείτε στη βάση δεδομένων
- Επιλέξτε τη βάση δεδομένων ως demotb
- Κάντε κλικ στο κουμπί "ok".
- Σε αυτήν την οθόνη, θα επιβεβαιώσουμε όλες τις ρυθμίσεις που πραγματοποιήθηκαν στις προηγούμενες οθόνες.
- Επιλέξτε "Ναι" για να συμπεριλάβετε ευαίσθητα δεδομένα στη συμβολοσειρά σύνδεσης
- Κάντε κλικ στο κουμπί "Επόμενο".
- Στην επόμενη οθόνη, κάντε κλικ στο κουμπί "Επόμενο" για να επιβεβαιώσετε τη δημιουργία της συμβολοσειράς σύνδεσης
- Σε αυτό το βήμα,
- Επιλέξτε τους πίνακες του Demotb, οι οποίοι θα εμφανιστούν στην επόμενη οθόνη.
- Αυτός ο πίνακας θα γίνει πλέον διαθέσιμη πηγή δεδομένων στο έργο C #
Όταν κάνετε κλικ στο κουμπί Τέλος, το Visual Studio θα διασφαλίσει τώρα ότι η εφαρμογή μπορεί να υποβάλει ερώτημα σε όλες τις σειρές στον πίνακα Demotb.
Βήμα 5) Τώρα που ορίζεται η πηγή δεδομένων, πρέπει τώρα να συνδέσουμε το πλαίσιο κειμένου TutorialID και TutorialName στον πίνακα demotb. Όταν κάνετε κλικ στην ιδιότητα Κείμενο είτε στο πλαίσιο κειμένου του TutorialID είτε στο TutorialName, θα δείτε τώρα ότι η πηγή δέσμευσης στο Demotb είναι διαθέσιμη.
Για το πρώτο πλαίσιο κειμένου επιλέξτε το αναγνωριστικό Tutorial. Επαναλάβετε αυτό το βήμα για το δεύτερο πλαίσιο κειμένου και επιλέξτε το πεδίο ως TutorialName. Τα παρακάτω βήματα δείχνουν πώς μπορούμε να πλοηγηθούμε σε κάθε στοιχείο ελέγχου και να αλλάξουμε τη δέσμευση ανάλογα.
- Κάντε κλικ στο στοιχείο ελέγχου αναγνωριστικού οδηγού.
- Στο παράθυρο Ιδιότητες, θα δείτε τις ιδιότητες του πλαισίου κειμένου του TutorialID. Μεταβείτε στην ιδιότητα κειμένου και κάντε κλικ στο κουμπί κάτω βέλους.
- Όταν κάνετε κλικ στο κουμπί κάτω βέλους, θα δείτε την επιλογή DemotbBinding Source. Και κάτω από αυτό, θα δείτε τις επιλογές του TutorialName και του TutorialID. Επιλέξτε ένα αναγνωριστικό εκμάθησης.
Επαναλάβετε τα παραπάνω 3 βήματα για το πλαίσιο κειμένου Όνομα Tutorial.
- Κάντε κλικ λοιπόν στο πλαίσιο κειμένου Όνομα εκπαιδευτικού προγράμματος
- Μεταβείτε στο παράθυρο ιδιοτήτων
- Επιλέξτε την ιδιότητα Κείμενο
- Επιλέξτε την επιλογή TutorialName στο demotbBindingSource
Βήμα 6) Στη συνέχεια, πρέπει να αλλάξουμε την ιδιότητα Binding Source του BindingNavigator ώστε να οδηγεί στην πηγή δεδομένων Demotb. Ο λόγος που το κάνουμε αυτό είναι ότι το Binding Navigator πρέπει επίσης να γνωρίζει σε ποιον πίνακα πρέπει να αναφέρεται.
Το Binding Navigator χρησιμοποιείται για την επιλογή της επόμενης ή προηγούμενης εγγραφής στον πίνακα. Έτσι, παρόλο που η πηγή δεδομένων προστίθεται στο έργο ως σύνολο και στον έλεγχο πλαισίου κειμένου, πρέπει να διασφαλίσουμε ότι το Binding Navigator έχει επίσης σύνδεσμο προς την πηγή δεδομένων μας. Για να το κάνουμε αυτό, πρέπει να κάνουμε κλικ στο αντικείμενο πλοήγησης Binding, να μεταβούμε στην ιδιότητα Binding Source και να επιλέξετε αυτό που είναι διαθέσιμο
Στη συνέχεια, πρέπει να μεταβούμε στο παράθυρο Properties, ώστε να κάνουμε την αλλαγή στην ιδιότητα Binding Source.
Όταν όλα τα παραπάνω βήματα εκτελεστούν με επιτυχία, θα λάβετε την έξοδο που αναφέρεται παρακάτω.
Παραγωγή:-
Τώρα όταν ξεκινά το έργο, μπορείτε να δείτε ότι τα πλαίσια κειμένου λαμβάνουν αυτόματα τις τιμές από τον πίνακα.
Όταν κάνετε κλικ στο κουμπί Επόμενο στο Navigator, μεταβαίνει αυτόματα στην επόμενη εγγραφή στον πίνακα. Και οι τιμές της επόμενης εγγραφής έρχονται αυτόματα στα πλαίσια κειμένου
C # DataGridView
Τα πλέγματα δεδομένων χρησιμοποιούνται για την εμφάνιση δεδομένων από έναν πίνακα σε μορφή πλέγματος. Όταν ένας χρήστης βλέπει τα δεδομένα πίνακα, συνήθως προτιμά να βλέπει όλες τις σειρές του πίνακα σε μία λήψη. Αυτό μπορεί να επιτευχθεί εάν μπορούμε να εμφανίσουμε τα δεδομένα σε ένα πλέγμα στη φόρμα.
Το C # και το Visual Studio έχουν ενσωματωμένα πλέγματα δεδομένων, αυτό μπορεί να χρησιμοποιηθεί για την εμφάνιση δεδομένων. Ας ρίξουμε μια ματιά σε ένα παράδειγμα αυτού. Στο παράδειγμά μας, θα έχουμε ένα πλέγμα δεδομένων, το οποίο θα χρησιμοποιηθεί για την εμφάνιση των τιμών του αναγνωριστικού αναγνωριστικού και του ονόματος εκπαιδευτικού από τον πίνακα demotb.
Βήμα 1) Σύρετε το στοιχείο ελέγχου DataGridView από την εργαλειοθήκη στη φόρμα στο Visual Studio. Το στοιχείο ελέγχου DataGridView χρησιμοποιείται στο Visual Studio για την εμφάνιση των γραμμών ενός πίνακα σε μορφή πλέγματος.
Βήμα 2) Στο επόμενο βήμα, πρέπει να συνδέσουμε το πλέγμα δεδομένων μας στη βάση δεδομένων. Στην τελευταία ενότητα, είχαμε δημιουργήσει μια πηγή δεδομένων έργου. Ας χρησιμοποιήσουμε την ίδια πηγή δεδομένων στο παράδειγμά μας.
- Πρώτα, πρέπει να επιλέξετε το πλέγμα και να κάνετε κλικ στο βέλος του πλέγματος. Αυτό θα εμφανίσει τις επιλογές διαμόρφωσης πλέγματος.
- Στις επιλογές διαμόρφωσης, απλώς επιλέξτε την πηγή δεδομένων ως demotbBindingSource που ήταν η πηγή δεδομένων που δημιουργήθηκε στην προηγούμενη ενότητα.
Εάν όλα τα παραπάνω βήματα εκτελούνται όπως φαίνεται, θα λάβετε την έξοδο που αναφέρεται παρακάτω.
Παραγωγή:-
Από την έξοδο, μπορείτε να δείτε ότι το πλέγμα συμπληρώθηκε από τις τιμές από τη βάση δεδομένων.
Περίληψη
- Το C # SQL μπορεί να λειτουργήσει με βάσεις δεδομένων όπως το Oracle και ο Microsoft SQL Server.
- Αυτό το σεμινάριο βάσης δεδομένων C # έχει όλες τις εντολές που απαιτούνται για να λειτουργήσει με βάσεις δεδομένων. Αυτό περιλαμβάνει τη δημιουργία σύνδεσης με τη βάση δεδομένων. Μπορείτε να εκτελέσετε λειτουργίες όπως επιλογή, ενημέρωση, εισαγωγή και διαγραφή χρησιμοποιώντας τις εντολές στο C #.
- Το αντικείμενο DataReader στο C # χρησιμοποιείται για την αποθήκευση όλων των δεδομένων που επιστρέφονται από τη βάση δεδομένων. Ο βρόχος While στο C # μπορεί να χρησιμοποιηθεί για την ανάγνωση των σειρών δεδομένων μία κάθε φορά.
- Το αντικείμενο προσαρμογέα δεδομένων χρησιμοποιείται για την εκτέλεση λειτουργιών SQL όπως εισαγωγή, διαγραφή και ενημέρωση στη βάση δεδομένων.
- Το C # μπορεί να δεσμεύσει στοιχεία ελέγχου στα διάφορα πεδία ενός πίνακα. Δεσμεύονται από τον ορισμό μιας πηγής δεδομένων στο C #. Η πηγή δεδομένων χρησιμοποιείται για τη λήψη δεδομένων από τη βάση δεδομένων και τη συμπλήρωσή τους στα στοιχεία ελέγχου.
- Ο δεσμευτικός πλοηγός χρησιμοποιείται για αυτόματη πλοήγηση στις σειρές ενός πίνακα.
- Το πλέγμα δεδομένων στο C # μπορεί να συνδεθεί στη βάση δεδομένων και να εμφανίσει όλες τις τιμές από τον πίνακα σε μορφή πλέγματος.