Εισαγωγή, Ενημέρωση, Διαγραφή: Σύνδεση βάσης δεδομένων ASP.NET

⚡ Έξυπνη Σύνοψη

Το ASP.NET συνδέεται με βάσεις δεδομένων όπως ο SQL Server και Oracle μέσω του ADO.NET, χρησιμοποιώντας τις κλάσεις SqlConnection, SqlCommand, SqlDataReader και SqlDataAdapter για να ανοίξετε μια σύνδεση και να εκτελέσετε λειτουργίες επιλογής, εισαγωγής, ενημέρωσης και διαγραφής σε αποθηκευμένες εγγραφές.

  • 🔌 Σύνδεση: Το SqlConnection ανοίγει έναν σύνδεσμο προς τη βάση δεδομένων χρησιμοποιώντας μια συμβολοσειρά σύνδεσης με την προέλευση δεδομένων, τον κατάλογο και τα διαπιστευτήρια.
  • 📖 Διαβάστε τα αρχεία: Η εντολή SqlCommand με την εντολή ExecuteReader και μια εντολή SqlDataReader εκτελεί επανάληψη στις γραμμές που επιστρέφονται από μια εντολή SELECT.
  • Εισαγωγή και ενημέρωση: Το SqlDataAdapter με το ExecuteNonQuery εκτελεί εντολές INSERT και UPDATE για να αλλάξει τα αποθηκευμένα δεδομένα.
  • 🗑️ Διαγράφω: Μια εντολή DELETE που εκτελείται μέσω της ExecuteNonQuery αφαιρεί μια συγκεκριμένη γραμμή από τον πίνακα.
  • 🔗 Στοιχεία ελέγχου σύνδεσης: Μια πηγή δεδομένων συνδέεται με τη λίσταBox, DropDownList και παρόμοια στοιχεία ελέγχου απευθείας στα πεδία του πίνακα.
  • 🔐 Μείνετε ασφαλείς: Τα παραμετροποιημένα ερωτήματα και το κλείσιμο κάθε σύνδεσης διατηρούν τον κώδικα της βάσης δεδομένων ασφαλή και αξιόπιστο.

ASP.NET Εισαγωγή, Ενημέρωση, Διαγραφή Βάσης Δεδομένων Operaσεις

Η πρόσβαση σε δεδομένα από μια βάση δεδομένων είναι μια σημαντική πτυχή κάθε γλώσσας προγραμματισμού. Είναι απαραίτητο κάθε γλώσσα προγραμματισμού να έχει τη δυνατότητα να λειτουργεί με βάσεις δεδομένων.

Το ASP.NET έχει τη δυνατότητα να λειτουργεί με διαφορετικούς τύπους βάσεων δεδομένων. Μπορεί να λειτουργήσει με τις πιο συνηθισμένες βάσεις δεδομένων, όπως Oracle και Microsoft SQL Server.

Έχει επίσης τη δυνατότητα να συνεργάζεται με νέες μορφές βάσεων δεδομένων όπως π.χ MongoDB και MySQL.

Βασικές Αρχές Συνδεσιμότητας Βάσεων Δεδομένων

Το ASP.NET έχει τη δυνατότητα να λειτουργεί με την πλειονότητα των βάσεων δεδομένων, με την πιο συνηθισμένη να είναι Oracle και Microsoft SQL Server. Αλλά με κάθε βάση δεδομένων, η λογική πίσω από την εργασία με όλες είναι ως επί το πλείστον η ίδια.

Στα παραδείγματά μας, θα εξετάσουμε την εργασία με το Microsoft SQL Server ως βάση δεδομένων μας. Για εκπαιδευτικούς σκοπούς, μπορεί κανείς να κατεβάσει και να χρησιμοποιήσει το Microsoft SQL Server Έκδοση Express. Πρόκειται για δωρεάν λογισμικό βάσης δεδομένων που παρέχεται από Microsoft.

Κατά την εργασία με βάσεις δεδομένων, οι ακόλουθες έννοιες είναι κοινές σε όλες τις βάσεις δεδομένων:

  1. σύνδεση – Για να εργαστείτε με τα δεδομένα σε μια βάση δεδομένων, το πρώτο προφανές βήμα είναι η σύνδεση. Η σύνδεση με μια βάση δεδομένων συνήθως αποτελείται από τις παραμέτρους που αναφέρονται παρακάτω.
    1. Όνομα βάσης δεδομένων ή Πηγή δεδομένων – Η πρώτη σημαντική παράμετρος είναι το όνομα της βάσης δεδομένων. Κάθε σύνδεση μπορεί να λειτουργήσει μόνο με μία βάση δεδομένων κάθε φορά.
    2. Διαπιστεύσεις – Η επόμενη σημαντική πτυχή είναι το όνομα χρήστη και ο κωδικός πρόσβασης. Αυτά χρησιμοποιούνται για τη δημιουργία σύνδεσης με τη βάση δεδομένων.
    3. Προαιρετικές παράμετροι – Μπορείτε να καθορίσετε προαιρετικές παραμέτρους για το πώς το .NET θα πρέπει να χειρίζεται τη σύνδεση με τη βάση δεδομένων. Για παράδειγμα, μπορείτε να καθορίσετε μια παράμετρο για το χρονικό διάστημα που η σύνδεση θα πρέπει να παραμένει ενεργή.
  2. Επιλογή δεδομένων από τη βάση δεδομένων – Μόλις δημιουργηθεί η σύνδεση, τα δεδομένα ανακτώνται από τη βάση δεδομένων. Το ASP.NET έχει τη δυνατότητα να εκτελέσει την εντολή SQL select στη βάση δεδομένων. Η πρόταση SQL μπορεί να χρησιμοποιηθεί για την ανάκτηση δεδομένων από έναν συγκεκριμένο πίνακα στη βάση δεδομένων.
  3. Εισαγωγή δεδομένων στη βάση δεδομένων – Το ASP.NET χρησιμοποιείται για την εισαγωγή εγγραφών στη βάση δεδομένων. Οι τιμές για κάθε γραμμή που πρέπει να εισαχθεί στη βάση δεδομένων καθορίζονται στο ASP.NET.
  4. Ενημέρωση δεδομένων στη βάση δεδομένων – Το ASP.NET μπορεί επίσης να χρησιμοποιηθεί για την ενημέρωση υπαρχουσών εγγραφών στη βάση δεδομένων. Νέες τιμές μπορούν να καθοριστούν στο ASP.NET για κάθε γραμμή που πρέπει να ενημερωθεί στη βάση δεδομένων.
  5. Διαγραφή δεδομένων από βάση δεδομένων – Το ASP.NET μπορεί επίσης να χρησιμοποιηθεί για τη διαγραφή εγγραφών από τη βάση δεδομένων. Ο κώδικας γράφεται για να διαγράψει μια συγκεκριμένη γραμμή από τη βάση δεδομένων.

Τώρα που είδαμε το θεωρητικό μέρος κάθε λειτουργίας, ας δούμε πώς να εκτελούμε λειτουργίες βάσης δεδομένων στο ASP.NET.

Συνδέσεις βάσεων δεδομένων ASP.NET

Ας δούμε τώρα τον κώδικα που πρέπει να διατηρηθεί για να δημιουργηθεί μια σύνδεση με μια βάση δεδομένων. Στο παράδειγμά μας, θα συνδεθούμε με μια βάση δεδομένων που έχει το όνομα Demodb. Τα διαπιστευτήρια που χρησιμοποιούνται για τη σύνδεση με τη βάση δεδομένων δίνονται παρακάτω:

  • Όνομα χρήστη – sa
  • Κωδικός πρόσβασης – demo123

Ας εργαστούμε με την τρέχουσα διαδικτυακή εφαρμογή που δημιουργήσαμε στις προηγούμενες ενότητες.

  • Ξεκινήστε να προσθέτετε λειτουργίες βάσης δεδομένων σε αυτό.
  • Το παράδειγμά μας εξετάζει τη δημιουργία μιας απλής σύνδεσης. Αυτή η σύνδεση γίνεται με τη βάση δεδομένων Demodb. Αυτό γίνεται κατά την πρώτη εκκίνηση της σελίδας.
  • Όταν δημιουργηθεί η σύνδεση, θα σταλεί ένα μήνυμα στον χρήστη. Το μήνυμα θα υποδείξει ότι η σύνδεση έχει δημιουργηθεί.

Ας ακολουθήσουμε τα παρακάτω βήματα για να το πετύχουμε αυτό.

Βήμα 1) Ας βεβαιωθούμε πρώτα ότι έχετε ανοίξει την εφαρμογή web (DemoApplication) στο Visual Studio. Double-κάντε κλικ στο αρχείο demo.aspx.cs για να εισαγάγετε τον κώδικα για τη σύνδεση με τη βάση δεδομένων.

Συνδέσεις βάσεων δεδομένων ASP.NET

Βήμα 2) Προσθέστε τον παρακάτω κώδικα που θα χρησιμοποιηθεί για τη δημιουργία σύνδεσης με τη βάση δεδομένων.

Συνδέσεις βάσεων δεδομένων ASP.NET

namespace DemoApplication
{
    public partial class Demo : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            string connectionString;
            SqlConnection cnn;

            connectionString = @"Data Source=WIN-50GP30FGO75;Initial Catalog=Demodb;User ID=sa;Password=demo123";

            cnn = new SqlConnection(connectionString);

            cnn.Open();

            Response.Write("Connection Made");
            cnn.Close();
        }
    }
}

Code Εξήγηση:-

  1. Το πρώτο βήμα είναι η δημιουργία μεταβλητών. Αυτές θα χρησιμοποιηθούν για τη δημιουργία της συμβολοσειράς σύνδεσης και της σύνδεσης με τη βάση δεδομένων του SQL Server.
  2. Το επόμενο βήμα είναι να δημιουργήσετε την συμβολοσειρά σύνδεσης. Η συμβολοσειρά σύνδεσης αποτελείται από τα ακόλουθα μέρη:
    • Πηγή δεδομένων – Αυτό είναι το όνομα του διακομιστή στον οποίο βρίσκεται η βάση δεδομένων. Στην περίπτωσή μας, βρίσκεται σε έναν υπολογιστή που ονομάζεται WIN-50GP30FGO75.
    • Ο αρχικός κατάλογος χρησιμοποιείται για να καθορίσει το όνομα της βάσης δεδομένων.
    • Το User ID και ο Password είναι τα απαραίτητα διαπιστευτήρια για τη σύνδεση στη βάση δεδομένων.
  3. Στη συνέχεια, αντιστοιχίζουμε τη συμβολοσειρά σύνδεσης στη μεταβλητή cnn.
    • Η μεταβλητή cnn είναι τύπου SqlConnection. Αυτό χρησιμοποιείται για τη δημιουργία σύνδεσης με τη βάση δεδομένων.
    • Η SqlConnection είναι μια κλάση στο ASP.NET που χρησιμοποιείται για τη δημιουργία μιας σύνδεσης με μια βάση δεδομένων.
    • Για να χρησιμοποιήσετε αυτήν την κλάση, πρέπει πρώτα να δημιουργήσετε ένα αντικείμενο αυτής της κλάσης. Επομένως, εδώ δημιουργούμε μια μεταβλητή που ονομάζεται cnn και είναι του τύπου SqlConnection.
  4. Στη συνέχεια, χρησιμοποιούμε τη μέθοδο Open της μεταβλητής cnn για να ανοίξουμε μια σύνδεση με τη βάση δεδομένων. Εμφανίζουμε ένα μήνυμα στον χρήστη ότι η σύνδεση έχει δημιουργηθεί. Αυτό γίνεται μέσω της μεθόδου Response.Write. Στη συνέχεια, κλείνουμε τη σύνδεση με τη βάση δεδομένων.

Όταν ο παραπάνω κώδικας οριστεί και το έργο εκτελεστεί χρησιμοποιώντας Visual Studio, θα λάβετε το παρακάτω αποτέλεσμα. Μόλις εμφανιστεί η φόρμα, κάντε κλικ στο κουμπί Σύνδεση.

Παραγωγή:-

Συνδέσεις βάσεων δεδομένων ASP.NET

Το μήνυμα εξόδου που εμφανίζεται στο πρόγραμμα περιήγησης θα δείξει ότι η σύνδεση με τη βάση δεδομένων έχει πραγματοποιηθεί.

ASP.NET Ανάγνωση βάσης δεδομένων χρησιμοποιώντας SqlDataReader

Για να δείξουμε δεδομένα στα οποία έγινε πρόσβαση μέσω ASP.NET, ας υποθέσουμε ότι υπάρχουν τα ακόλουθα αντικείμενα στη βάση δεδομένων μας.

  1. Ένας πίνακας με όνομα demotb. Αυτός ο πίνακας θα χρησιμοποιηθεί για την αποθήκευση του ID και των ονομάτων διαφόρων εκπαιδευτικών προγραμμάτων.
  2. Ο πίνακας θα έχει δύο στήλες, η μία με όνομα TutorialID και η άλλη με όνομα TutorialName.
  3. Προς το παρόν, ο πίνακας θα έχει δύο σειρές όπως φαίνεται παρακάτω.
Αναγνωριστικό φροντιστηρίου Όνομα εκμάθησης
1 C#
2 ASP.NET

Ας αλλάξουμε τον κώδικα ώστε να μπορούμε να υποβάλουμε ερώτημα για αυτά τα δεδομένα και να εμφανίσουμε τις πληροφορίες στην ίδια την ιστοσελίδα. Σημειώστε ότι ο κώδικας που εισαγάγατε αποτελεί συνέχεια αυτού που γράφτηκε για τη μονάδα σύνδεσης δεδομένων.

Βήμα 1) Ας χωρίσουμε τον κώδικα σε δύο μέρη:

  • Το πρώτο μέρος θα είναι η κατασκευή της εντολής select. Θα χρησιμοποιηθεί για την ανάγνωση των δεδομένων από τη βάση δεδομένων.
  • Στη συνέχεια, θα εκτελέσουμε την εντολή select στη βάση δεδομένων. Αυτό θα ανακτήσει όλες τις γραμμές του πίνακα ανάλογα.

ASP.NET Ανάγνωση βάσης δεδομένων χρησιμοποιώντας SqlDataReader

Code Εξήγηση:-

  1. Το πρώτο βήμα είναι να δημιουργήσετε τις ακόλουθες μεταβλητές:
    • SqlCommand – Η SqlCommand είναι μια κλάση που ορίζεται στην C#. Αυτή η κλάση χρησιμοποιείται για την εκτέλεση λειτουργιών ανάγνωσης και εγγραφής στη βάση δεδομένων.
    • Το αντικείμενο DataReader χρησιμοποιείται για τη λήψη όλων των δεδομένων που καθορίζονται από το ερώτημα SQL. Στη συνέχεια, μπορούμε να διαβάσουμε όλες τις σειρές του πίνακα μία προς μία χρησιμοποιώντας το πρόγραμμα ανάγνωσης δεδομένων.
    • Στη συνέχεια, ορίζουμε δύο μεταβλητές συμβολοσειράς. Η μία είναι η sql για να περιέχει τη συμβολοσειρά εντολής SQL. Η επόμενη είναι η Output, η οποία θα περιέχει όλες τις τιμές του πίνακα.
  2. Το επόμενο βήμα είναι να ορίσουμε την πρόταση SQL. Στην περίπτωσή μας, είναι "Επιλέξτε TutorialID, TutorialName από το demotb". Αυτό θα ανακτήσει όλες τις γραμμές από τον πίνακα demotb.
  3. Στη συνέχεια, δημιουργούμε το αντικείμενο εντολής που χρησιμοποιείται για την εκτέλεση της δήλωσης SQL στη βάση δεδομένων. Στην εντολή SQL, πρέπει να περάσετε το αντικείμενο σύνδεσης και τη συμβολοσειρά SQL.
  4. Στη συνέχεια, εκτελούμε την εντολή data reader, η οποία θα ανακτήσει όλες τις γραμμές από τον πίνακα demotb.
  5. Τώρα που έχουμε όλες τις γραμμές του πίνακα μαζί μας, χρειαζόμαστε έναν μηχανισμό για να έχουμε πρόσβαση στις γραμμές μία προς μία.
    • Για αυτό, χρησιμοποιούμε την εντολή while για να έχουμε πρόσβαση στις γραμμές από τον αναγνώστη δεδομένων μία κάθε φορά.
    • Στη συνέχεια, χρησιμοποιούμε τη μέθοδο GetValue για να λάβουμε την τιμή των TutorialID και TutorialName.

Βήμα 2) Στο τελικό βήμα, εμφανίζουμε την έξοδο στον χρήστη. Στη συνέχεια, κλείνουμε όλα τα αντικείμενα που σχετίζονται με τη λειτουργία της βάσης δεδομένων.

ASP.NET Ανάγνωση βάσης δεδομένων χρησιμοποιώντας SqlDataReader

namespace DemoApplication
{
    public partial class Demo : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            SqlCommand command;
            SqlDataReader dataReader;
            String sql, Output = " ";
            sql = "Select TutorialID,TutorialName from demotb";

            command = new SqlCommand(sql, cnn);

            dataReader = command.ExecuteReader();
            while (dataReader.Read())
            {
                Output = Output + dataReader.GetValue(0) + "-" + dataReader.GetValue(1) + "</br>";
            }

            Response.Write(Output);
            dataReader.Close();
            command.Dispose();
            cnn.Close();
        }
    }
}

Code Εξήγηση:-

  1. Συνεχίζουμε τον κώδικά μας εμφανίζοντας την τιμή της μεταβλητής Output. Αυτό γίνεται χρησιμοποιώντας τη μέθοδο Response.Write.
  2. Τέλος, κλείνουμε όλα τα αντικείμενα που σχετίζονται με τη λειτουργία της βάσης δεδομένων μας. Να θυμάστε ότι αυτή είναι πάντα μια καλή πρακτική.

Όταν οριστεί ο παραπάνω κώδικας και το έργο εκτελεστεί χρησιμοποιώντας το Visual Studio, θα λάβετε το παρακάτω αποτέλεσμα.

Παραγωγή:-

ASP.NET Ανάγνωση βάσης δεδομένων χρησιμοποιώντας SqlDataReader

Από την έξοδο, μπορείτε να δείτε ξεκάθαρα ότι το πρόγραμμα μπόρεσε να πάρει τις τιμές από τη βάση δεδομένων. Στη συνέχεια, τα δεδομένα εμφανίζονται στο πρόγραμμα περιήγησης στον χρήστη.

Εισαγωγή εγγραφής βάσης δεδομένων χρησιμοποιώντας το InsertCommand

Όπως ακριβώς και η πρόσβαση σε δεδομένα, το ASP.NET έχει επίσης τη δυνατότητα εισαγωγής εγγραφών στη βάση δεδομένων. Ας πάρουμε την ίδια δομή πίνακα που χρησιμοποιείται για την εισαγωγή εγγραφών.

Αναγνωριστικό φροντιστηρίου Όνομα εκμάθησης
1 C#
2 ASP.NET

Ας αλλάξουμε τον κώδικα στη φόρμα μας, ώστε να μπορούμε να εισάγουμε την ακόλουθη γραμμή στον πίνακα:

Αναγνωριστικό φροντιστηρίου Όνομα εκμάθησης
3 VB.Net

Βήμα 1) Ως πρώτο βήμα, ας προσθέσουμε τον ακόλουθο κώδικα στο πρόγραμμά μας. Το παρακάτω απόσπασμα κώδικα θα χρησιμοποιηθεί για την εισαγωγή μιας εγγραφής στη βάση δεδομένων μας.

Εισαγωγή εγγραφής βάσης δεδομένων χρησιμοποιώντας το InsertCommand

namespace DemoApplication
{
    public partial class Demo : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            SqlCommand command;
            SqlDataAdapter adapter = new SqlDataAdapter();
            String sql = "";

            sql = "Insert into demotb(TutorialID,TutorialName) values(3,'VB.Net')";

            command = new SqlCommand(sql, cnn);
            adapter.InsertCommand = new SqlCommand(sql, cnn);
            adapter.InsertCommand.ExecuteNonQuery();

            command.Dispose();
            cnn.Close();
        }
    }
}

Code Εξήγηση:-

  1. Το πρώτο βήμα είναι να δημιουργήσετε τις ακόλουθες μεταβλητές:
    • SqlCommand – Αυτός ο τύπος δεδομένων χρησιμοποιείται για τον ορισμό αντικειμένων που εκτελούν λειτουργίες SQL σε μια βάση δεδομένων. Αυτό το αντικείμενο θα περιέχει την εντολή SQL που θα εκτελείται στη βάση δεδομένων του SQL Server μας.
    • Το αντικείμενο DataAdapter χρησιμοποιείται για την εκτέλεση εντολών εισαγωγής, διαγραφής και ενημέρωσης SQL.
    • Στη συνέχεια, ορίζουμε μια μεταβλητή συμβολοσειράς, η οποία είναι η sql, για να περιέχει τη συμβολοσειρά εντολής SQL.
  2. Το επόμενο βήμα είναι να ορίσουμε την πρόταση SQL. Στην περίπτωσή μας, εκδίδουμε μια πρόταση insert. Αυτή θα εισάγει την εγγραφή TutorialID=3 και TutorialName=VB.Net.
  3. Στη συνέχεια, δημιουργούμε το αντικείμενο εντολής που χρησιμοποιείται για την εκτέλεση της δήλωσης SQL στη βάση δεδομένων. Στην εντολή SQL, πρέπει να περάσετε το αντικείμενο σύνδεσης και τη συμβολοσειρά SQL.
  4. Στην εντολή του προσαρμογέα δεδομένων μας:
    • Συσχετίστε την εντολή insert SQL με τον προσαρμογέα.
    • Στη συνέχεια, εκτελέστε τη μέθοδο ExecuteNonQuery. Αυτή χρησιμοποιείται για την εκτέλεση της εντολής insert στη βάση δεδομένων μας.
    • Η μέθοδος ExecuteNonQuery χρησιμοποιείται στο C# για την έκδοση οποιωνδήποτε δηλώσεων DML (λειτουργία εισαγωγής, διαγραφής και ενημέρωσης) στη βάση δεδομένων.
  5. Τέλος, κλείνουμε όλα τα αντικείμενα που σχετίζονται με τη λειτουργία της βάσης δεδομένων μας. Να θυμάστε ότι αυτή είναι πάντα μια καλή πρακτική.

Βήμα 2) Ως δεύτερο βήμα, ας προσθέσουμε τον ίδιο κώδικα όπως στην ενότητα πρόσβασης σε δεδομένα. Αυτό γίνεται για να εμφανιστούν τα πρόσφατα δεδομένα του πίνακα στο πρόγραμμα περιήγησης. Για αυτό, θα προσθέσουμε τον παρακάτω κώδικα στο αρχείο demo.aspx.cs.

Εισαγωγή εγγραφής βάσης δεδομένων χρησιμοποιώντας το InsertCommand

namespace DemoApplication
{
    public partial class Demo : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            SqlCommand command;
            SqlDataReader dataReader;
            String sql, Output = " ";
            sql = "Select TutorialID,TutorialName from demotb";

            command = new SqlCommand(sql, cnn);

            dataReader = command.ExecuteReader();
            while (dataReader.Read())
            {
                Output = Output + dataReader.GetValue(0) + "-" + dataReader.GetValue(1) + "</br>";
            }

            Response.Write(Output);
            dataReader.Close();
            command.Dispose();
            cnn.Close();
        }
    }
}

Όταν οριστεί ο παραπάνω κώδικας και εκτελεστεί το έργο στο Visual Studio, θα λάβετε το παρακάτω αποτέλεσμα.

Παραγωγή:-

Εισαγωγή εγγραφής βάσης δεδομένων χρησιμοποιώντας το InsertCommand

Στο παράθυρο του προγράμματος περιήγησης, θα δείτε ότι η γραμμή εισήχθη με επιτυχία στη βάση δεδομένων.

Ενημερώστε την εγγραφή βάσης δεδομένων χρησιμοποιώντας το UpdateCommand

Το ASP.NET έχει τη δυνατότητα να ενημερώνει υπάρχουσες εγγραφές σε μια βάση δεδομένων. Ας πάρουμε την ίδια δομή πίνακα που χρησιμοποιήθηκε παραπάνω για το παράδειγμα για την εισαγωγή εγγραφών.

Αναγνωριστικό φροντιστηρίου Όνομα εκμάθησης
1 C#
2 ASP.NET
3 VB.Net

Ας αλλάξουμε τον κώδικα στη φόρμα μας, ώστε να μπορέσουμε να ενημερώσουμε την ακόλουθη γραμμή. Η παλιά τιμή γραμμής είναι TutorialID ως 3 και TutorialName ως VB.Net, την οποία θα ενημερώσουμε σε "VB.Net Complete", ενώ η τιμή γραμμής για το TutorialID θα παραμείνει η ίδια.

Παλιά σειρά

Αναγνωριστικό φροντιστηρίου Όνομα εκμάθησης
3 VB.Net

Νέα σειρά

Αναγνωριστικό φροντιστηρίου Όνομα εκμάθησης
3 VB.Net Ολοκληρώθηκε

Βήμα 1) Ως πρώτο βήμα, ας προσθέσουμε τον ακόλουθο κώδικα στο πρόγραμμά μας. Το παρακάτω απόσπασμα κώδικα θα χρησιμοποιηθεί για την ενημέρωση μιας υπάρχουσας εγγραφής στη βάση δεδομένων μας.

Ενημερώστε την εγγραφή βάσης δεδομένων χρησιμοποιώντας το UpdateCommand

namespace DemoApplication
{
    public partial class Demo : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            SqlCommand command;
            SqlDataAdapter adapter = new SqlDataAdapter();
            String sql = "";

            sql = "Update demotb set TutorialName='VB.Net Complete' where TutorialID=3";

            command = new SqlCommand(sql, cnn);
            adapter.InsertCommand = new SqlCommand(sql, cnn);
            adapter.InsertCommand.ExecuteNonQuery();

            command.Dispose();
            cnn.Close();
        }
    }
}

Code Εξήγηση:-

  1. Το πρώτο βήμα είναι να δημιουργήσετε τις ακόλουθες μεταβλητές:
    • SqlCommand – Αυτός ο τύπος δεδομένων χρησιμοποιείται για τον ορισμό αντικειμένων που θα εκτελούν λειτουργίες SQL σε μια βάση δεδομένων. Αυτό το αντικείμενο θα περιέχει την εντολή SQL που θα εκτελείται στη βάση δεδομένων του SQL Server μας.
    • Το αντικείμενο DataAdapter χρησιμοποιείται για την εκτέλεση εντολών εισαγωγής, διαγραφής και ενημέρωσης SQL.
    • Στη συνέχεια, ορίζουμε μια μεταβλητή συμβολοσειράς, η οποία είναι η sql, για να περιέχει τη συμβολοσειρά εντολής SQL.
  2. Το επόμενο βήμα είναι να ορίσουμε την πρόταση SQL. Στην περίπτωσή μας, εκδίδουμε μια πρόταση ενημέρωσης. Αυτή θα ενημερώσει το TutorialName σε "VB.Net Complete". Το TutorialID θα παραμείνει αμετάβλητο και η τιμή θα είναι 3.
  3. Στη συνέχεια, δημιουργούμε το αντικείμενο εντολής. Αυτό χρησιμοποιείται για την εκτέλεση της πρότασης SQL στη βάση δεδομένων. Στην εντολή SQL, μεταβιβάζετε το αντικείμενο σύνδεσης και τη συμβολοσειρά SQL.
  4. Στην εντολή του προσαρμογέα δεδομένων, συσχετίζουμε την εντολή SQL με τον προσαρμογέα μας. Στη συνέχεια, εκτελούμε τη μέθοδο ExecuteNonQuery. Αυτή χρησιμοποιείται για την εκτέλεση της εντολής ενημέρωσης στη βάση δεδομένων μας.
  5. Τέλος, κλείνουμε όλα τα αντικείμενα που σχετίζονται με τη λειτουργία της βάσης δεδομένων μας. Να θυμάστε ότι αυτή είναι πάντα μια καλή πρακτική.

Βήμα 2) Ως δεύτερο βήμα, ας προσθέσουμε τον ίδιο κώδικα όπως στην ενότητα πρόσβασης σε δεδομένα. Αυτό γίνεται για να εμφανιστούν τα πρόσφατα δεδομένα του πίνακα στο πρόγραμμα περιήγησης. Για αυτό, θα προσθέσουμε τον παρακάτω κώδικα.

Ενημερώστε την εγγραφή βάσης δεδομένων χρησιμοποιώντας το UpdateCommand

namespace DemoApplication
{
    public partial class Demo : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            SqlCommand command;
            SqlDataReader dataReader;
            String sql, Output = " ";
            sql = "Select TutorialID,TutorialName from demotb";

            command = new SqlCommand(sql, cnn);

            dataReader = command.ExecuteReader();
            while (dataReader.Read())
            {
                Output = Output + dataReader.GetValue(0) + "-" + dataReader.GetValue(1) + "</br>";
            }

            Response.Write(Output);
            dataReader.Close();
            command.Dispose();
            cnn.Close();
        }
    }
}

Όταν οριστεί ο παραπάνω κώδικας και το έργο εκτελεστεί χρησιμοποιώντας το Visual Studio, θα λάβετε το παρακάτω αποτέλεσμα.

Παραγωγή:-

Ενημερώστε την εγγραφή βάσης δεδομένων χρησιμοποιώντας το UpdateCommand

Στο παράθυρο του προγράμματος περιήγησης, θα δείτε ότι η γραμμή ενημερώθηκε με επιτυχία στη βάση δεδομένων.

Διαγράψτε την εγγραφή βάσης δεδομένων χρησιμοποιώντας το DeleteCommand

Το ASP.NET μπορεί να διαγράψει υπάρχουσες εγγραφές από μια βάση δεδομένων. Ας πάρουμε την ίδια δομή πίνακα που χρησιμοποιήθηκε παραπάνω για το παράδειγμα για τη διαγραφή εγγραφών.

Αναγνωριστικό φροντιστηρίου Όνομα εκμάθησης
1 C#
2 ASP.NET
3 VB.Net Ολοκληρώθηκε

Ας αλλάξουμε τον κώδικα στη φόρμα μας ώστε να μπορούμε να διαγράψουμε την ακόλουθη γραμμή:

Αναγνωριστικό φροντιστηρίου Όνομα εκμάθησης
3 VB.Net Ολοκληρώθηκε

Βήμα 1) Ως πρώτο βήμα, ας προσθέσουμε τον ακόλουθο κώδικα στο πρόγραμμά μας. Το παρακάτω απόσπασμα κώδικα θα χρησιμοποιηθεί για τη διαγραφή μιας υπάρχουσας εγγραφής στη βάση δεδομένων μας.

Διαγράψτε την εγγραφή βάσης δεδομένων χρησιμοποιώντας το DeleteCommand

namespace DemoApplication
{
    public partial class Demo : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            SqlCommand command;
            SqlDataAdapter adapter = new SqlDataAdapter();
            String sql = "";

            sql = "Delete demotb where TutorialID=3";

            command = new SqlCommand(sql, cnn);
            adapter.DeleteCommand = new SqlCommand(sql, cnn);
            adapter.DeleteCommand.ExecuteNonQuery();

            command.Dispose();
            cnn.Close();
        }
    }
}

Code Εξήγηση:-

  1. Η βασική διαφορά σε αυτόν τον κώδικα είναι ότι τώρα εκδίδουμε την εντολή delete SQL. Η εντολή delete χρησιμοποιείται για τη διαγραφή της γραμμής στον πίνακα demotb στην οποία το TutorialID έχει τιμή 3.
  2. Στην εντολή data adapter, συσχετίζουμε την εντολή delete SQL με τον προσαρμογέα μας. Επίσης, εκτελούμε τη μέθοδο ExecuteNonQuery, η οποία χρησιμοποιείται για την εκτέλεση της εντολής delete στη βάση δεδομένων μας.

Βήμα 2) Ως δεύτερο βήμα, ας προσθέσουμε τον ίδιο κώδικα όπως στην ενότητα πρόσβασης σε δεδομένα. Αυτό γίνεται για να εμφανιστούν τα πρόσφατα δεδομένα του πίνακα στο πρόγραμμα περιήγησης. Για αυτό, θα προσθέσουμε τον παρακάτω κώδικα.

Διαγράψτε την εγγραφή βάσης δεδομένων χρησιμοποιώντας το DeleteCommand

namespace DemoApplication
{
    public partial class Demo : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            SqlCommand command;
            SqlDataReader dataReader;
            String sql, Output = " ";
            sql = "Select TutorialID,TutorialName from demotb";

            command = new SqlCommand(sql, cnn);

            dataReader = command.ExecuteReader();
            while (dataReader.Read())
            {
                Output = Output + dataReader.GetValue(0) + "-" + dataReader.GetValue(1) + "</br>";
            }

            Response.Write(Output);
            dataReader.Close();
            command.Dispose();
            cnn.Close();
        }
    }
}

Όταν οριστεί ο παραπάνω κώδικας και το έργο εκτελεστεί χρησιμοποιώντας το Visual Studio, θα λάβετε το παρακάτω αποτέλεσμα.

Παραγωγή:-

Διαγράψτε την εγγραφή βάσης δεδομένων χρησιμοποιώντας το DeleteCommand

Σύνδεση στοιχείων ελέγχου ASP.NET σε δεδομένα

Είδαμε πώς μπορούμε να χρησιμοποιήσουμε εντολές ASP.NET όπως οι SqlCommand και SqlDataReader για να ανακτήσουμε δεδομένα από μια βάση δεδομένων. Είδαμε επίσης πώς μπορούμε να διαβάσουμε κάθε γραμμή του πίνακα και να την εμφανίσουμε στην ιστοσελίδα.

Υπάρχουν διαθέσιμες μέθοδοι για την απευθείας σύνδεση στοιχείων ελέγχου σε διαφορετικά πεδία στον πίνακα. Προς το παρόν, μόνο τα παρακάτω στοιχεία ελέγχου μπορούν να συνδεθούν με μια εφαρμογή ASP.NET:

  1. ΈλεγχοςBoxΛιστα
  2. RadioButtonList
  3. DropDownList
  4. ΛισταBox

Ας δούμε λοιπόν ένα παράδειγμα για το πώς μπορούμε να χρησιμοποιήσουμε τη σύνδεση ελέγχου στο ASP.NET. Εδώ θα πάρουμε μια λίσταBox παράδειγμα. Ας υποθέσουμε ότι έχουμε τα ακόλουθα δεδομένα στη βάση δεδομένων μας.

Αναγνωριστικό φροντιστηρίου Όνομα εκμάθησης
1 C#
2 ASP.NET
3 VB.Net Ολοκληρώθηκε

Ας χρησιμοποιήσουμε τη ΛίσταBox έλεγχο και δείτε πώς μπορεί να συλλέξει αυτόματα τα δεδομένα από τον πίνακα demotb μας. Ας ακολουθήσουμε τα παρακάτω βήματα για να το πετύχουμε αυτό.

Βήμα 1) Δημιουργήστε τη βασική φόρμα ιστού. Από την εργαλειοθήκη στο Visual Studio, σύρετε και αποθέστε 2 στοιχεία – ετικέτες και λίστα.Boxες. Στη συνέχεια, εκτελέστε τα ακόλουθα υποβήματα:

  1. Τοποθετήστε την τιμή κειμένου της πρώτης ετικέτας ως TutorialID.
  2. Τοποθετήστε την τιμή κειμένου της δεύτερης ετικέτας ως TutorialName.

Παρακάτω φαίνεται πώς θα μοιάζει η φόρμα αφού ολοκληρωθούν τα παραπάνω βήματα.

Σύνδεση στοιχείων ελέγχου ASP.NET σε δεδομένα

Βήμα 2) Το επόμενο βήμα είναι να ξεκινήσετε τη σύνδεση κάθε λίσταςBox στον πίνακα της βάσης δεδομένων.

  1. Αρχικά, κάντε κλικ στη ΛίσταBox για το TutorialID. Αυτό θα εμφανίσει ένα άλλο παράθυρο διαλόγου στο πλάι του στοιχείου ελέγχου.
  2. Από το παράθυρο διαλόγου, κάντε κλικ στην επιλογή Επιλογή πηγής δεδομένων.

Σύνδεση στοιχείων ελέγχου ASP.NET σε δεδομένα

Βήμα 3) Στη συνέχεια, θα εμφανιστεί ένα παράθυρο διαλόγου. Αυτό μπορεί να χρησιμοποιηθεί για τη δημιουργία μιας νέας πηγής δεδομένων. Η πηγή δεδομένων θα αντιπροσωπεύει μια σύνδεση με τη βάση δεδομένων. Επιλέξτε την επιλογή Νέα πηγή δεδομένων.

Σύνδεση στοιχείων ελέγχου ASP.NET σε δεδομένα

Βήμα 4) Η παρακάτω οθόνη θα εμφανιστεί αφού επιλέξετε τη νέα πηγή δεδομένων στο τελευταίο βήμα. Εδώ πρέπει να αναφέρουμε τον τύπο της πηγής δεδομένων που θέλουμε να δημιουργήσουμε.

  1. Επιλέξτε την επιλογή της βάσης δεδομένων για να εργαστείτε με μια βάση δεδομένων SQL Server.
  2. Τώρα πρέπει να δώσουμε ένα όνομα στην πηγή δεδομένων μας. Εδώ του δίνουμε ένα όνομα DemoDataSource.
  3. Τέλος, κάνουμε κλικ στο κουμπί OK για να προχωρήσουμε στην επόμενη οθόνη.

Σύνδεση στοιχείων ελέγχου ASP.NET σε δεδομένα

Βήμα 5) Τώρα πρέπει να δημιουργήσουμε μια σύνδεση με τη βάση δεδομένων μας. Στην επόμενη οθόνη, κάντε κλικ στο κουμπί Νέα σύνδεση.

Σύνδεση στοιχείων ελέγχου ASP.NET σε δεδομένα

Βήμα 6) Στη συνέχεια, πρέπει να προσθέσετε τα διαπιστευτήρια για να συνδεθείτε στη βάση δεδομένων.

  1. Επιλέξτε το όνομα διακομιστή στον οποίο βρίσκεται ο SQL Server.
  2. Εισαγάγετε το όνομα χρήστη και τον κωδικό πρόσβασης για να συνδεθείτε στη βάση δεδομένων.
  3. Επιλέξτε τη βάση δεδομένων ως demotb.
  4. Κάντε κλικ στο κουμπί OK.

Σύνδεση στοιχείων ελέγχου ASP.NET σε δεδομένα

Βήμα 7) Στην επόμενη οθόνη, θα μπορείτε να δείτε τον πίνακα demotb. Απλώς κάντε κλικ στο κουμπί Επόμενο για να αποδεχτείτε την προεπιλεγμένη ρύθμιση.

Σύνδεση στοιχείων ελέγχου ASP.NET σε δεδομένα

Βήμα 8) Τώρα θα μπορείτε να δοκιμάσετε τη σύνδεση στην επόμενη οθόνη.

  1. Κάντε κλικ στο κουμπί Δοκιμή ερωτήματος για να δείτε αν μπορείτε να λάβετε τις τιμές από τον πίνακα.
  2. Κάντε κλικ στο κουμπί Τέλος για να ολοκληρώσετε τον οδηγό.

Σύνδεση στοιχείων ελέγχου ASP.NET σε δεδομένα

Βήμα 9) Τώρα στην τελική οθόνη, μπορείτε να κάνετε κλικ στο κουμπί OK. Αυτό θα συνδέσει πλέον τη Λίστα TutorialIDBox στο όνομα του πεδίου TutorialID στον πίνακα demotb.

Σύνδεση στοιχείων ελέγχου ASP.NET σε δεδομένα

Βήμα 10) Τώρα είναι η ώρα να συνδέσουμε τη λίστα TutorialNameBox στο πεδίο TutorialName.

  1. Αρχικά, κάντε κλικ στη Λίστα TutorialNameBox.
  2. Στη συνέχεια, επιλέξτε από την Προέλευση δεδομένων στο παράθυρο διαλόγου που εμφανίζεται στο πλάι της λίστας.Box.

Σύνδεση στοιχείων ελέγχου ASP.NET σε δεδομένα

Βήμα 11) Θα δείτε ήδη το DemoDataSource όταν επιλέγετε την πηγή δεδομένων στην επόμενη οθόνη.

  1. Επιλέξτε το DemoDataSource.
  2. Κάντε κλικ στο κουμπί OK.

Σύνδεση στοιχείων ελέγχου ASP.NET σε δεδομένα

Εάν όλα τα παραπάνω βήματα εκτελεστούν όπως φαίνεται, θα λάβετε την παρακάτω αναφερόμενη έξοδο.

Παραγωγή:-

Σύνδεση στοιχείων ελέγχου ASP.NET σε δεδομένα

Από το αποτέλεσμα, μπορείτε να δείτε ότι η ΛίσταBoxΤα es εμφανίζουν τα TutorialID και TutorialName αντίστοιχα.

Συχνές Ερωτήσεις

Ναι. Οι βοηθοί τεχνητής νοημοσύνης, όπως το GitHub Copilot, μπορούν να ενσωματώσουν μεθόδους εισαγωγής, ενημέρωσης και διαγραφής στο ADO.NET και να εξηγήσουν κάθε γραμμή. Να ελέγχετε πάντα την παραγόμενη SQL και να την δοκιμάζετε, καθώς η τεχνητή νοημοσύνη μπορεί να χάσει λεπτομέρειες παραμετροποίησης ή χειρισμού συνδέσεων.

Ναι. Μπορείτε να επικολλήσετε μια εξαίρεση ADO.NET ή ένα σφάλμα SQL σε ένα εργαλείο τεχνητής νοημοσύνης και να λάβετε μια απλή αιτία και πιθανή διόρθωση. Επιβεβαιώστε την πρόταση σε σχέση με το σχήμα σας πριν την εφαρμόσετε στον κώδικα παραγωγής.

Χρησιμοποιήστε παραμετροποιημένα ερωτήματα. Προσθέστε τιμές με αντικείμενα SqlParameter αντί να συνενώσετε δεδομένα εισόδου στη συμβολοσειρά SQL. Αυτό διαχωρίζει τα δεδομένα από τις εντολές και μπλοκάρει την εισαγωγή, ενώ παράλληλα βελτιώνει την επαναχρησιμοποίηση του σχεδίου ερωτημάτων.

Η ExecuteNonQuery εκτελεί τις INSERT, UPDATE και DELETE και επιστρέφει τις γραμμές που επηρεάζονται. Η ExecuteReader επιστρέφει ένα SqlDataReader μόνο για προώθηση για αποτελέσματα SELECT. Η ExecuteScalar επιστρέφει μια μεμονωμένη τιμή, όπως έναν αριθμό, από την πρώτη γραμμή και στήλη.

Το SqlDataReader μεταδίδει γραμμές μία κάθε φορά και χρειάζεται μια ανοιχτή σύνδεση, επομένως είναι γρήγορο για ανάγνωση. Το SqlDataAdapter συμπληρώνει ένα DataSet ή DataTable στη μνήμη και επίσης εκτελεί εντολές εισαγωγής, ενημέρωσης και διαγραφής.

Αποθηκεύστε τα στην ενότητα connectionStrings του web.config αντί να τα αποθηκεύσετε σε μια σελίδα. Αυτό συγκεντρώνει τις ρυθμίσεις, διατηρεί τα διαπιστευτήρια εκτός του πηγαίου κώδικα και σας επιτρέπει να τα αλλάξετε χωρίς να μεταγλωττίσετε ξανά την εφαρμογή.

Το ADO.NET με το SqlCommand παρέχει λεπτομερή έλεγχο και ταχύτητα για απλές σελίδες. Το Entity Framework αντιστοιχίζει πίνακες σε αντικείμενα και μειώνει τα στερεότυπα για μεγαλύτερες εφαρμογές. Πολλές ομάδες συνδυάζουν και τα δύο ανάλογα με τις ανάγκες απόδοσης και πολυπλοκότητας.

Οι ανοιχτές συνδέσεις διατηρούν συγκεντρωμένους πόρους στον διακομιστή. Η κλήση Κλείσιμο ή Απόρριψη, ιδανικά μέσα σε ένα μπλοκ χρήστη, επιστρέφει τη σύνδεση στην ομάδα, αποτρέπει διαρροές και διατηρεί την εφαρμογή σε απόκριση υπό φόρτο.

Συνοψίστε αυτήν την ανάρτηση με: