Αυτό το άρθρο είναι ένα άρθρο καθρέφτη της αυτόματης μετάφρασης, κάντε κλικ εδώ για να μεταβείτε στο αρχικό άρθρο.

Άποψη: 16965|Απάντηση: 0

[ASP.NET] Εάν έχετε ήδη ένα ανοιχτό DataReader που σχετίζεται με αυτήν την εντολή, πρέπει πρώτα να το κλείσετε.

[Αντιγραφή συνδέσμου]
Δημοσιεύτηκε στις 8/5/2015 12:55:35 μ.μ. | | | |

Το παραπάνω σφάλμα παρουσιάζεται όταν ανοίγουν ταυτόχρονα δύο ή πολλά sqldatareaders. Επειδή το sqldatareader χρησιμοποιείται για την ανάγνωση δεδομένων βάσης δεδομένων, το sqlconnection είναι ενεργοποιημένο αλλά δεν είναι κλειστό.

    Έλεγξα στο διαδίκτυο και διαπίστωσα ότι ένα SqlConnection μπορεί να εκτελέσει μια συναλλαγή μόνο μία φορά και πρέπει να κλείσει και μετά να ανοίξει ξανά. Το χρησιμοποίησα μόνο μία φορά παραπάνω και δεν το απενεργοποίησα και ενεργοποιήθηκε απευθείας, οπότε θα αναφέρει σφάλμα. Στην πραγματικότητα, δεν χρειάζεται να το ανοίξετε πολλές φορές, επομένως είναι πολύ ενοχλητικό να το εφαρμόσετε. Απλώς προσθέστε MultipleActiveResultSets=true αμέσως μετά τη συμβολοσειρά σύνδεσης. Εάν υπάρχει αρχείο διαμόρφωσης, μπορείτε να τροποποιήσετε απευθείας το αρχείο διαμόρφωσης.






Προηγούμενος:Μαζική ανίχνευση εισόδου χρήστη για επικίνδυνους χαρακτήρες SQL
Επόμενος:Με βάση. Ανάπτυξη αρχιτεκτονικής τριών επιπέδων .LINQ σε SQL
Αποκήρυξη:
Όλο το λογισμικό, το υλικό προγραμματισμού ή τα άρθρα που δημοσιεύονται από το Code Farmer Network προορίζονται μόνο για μαθησιακούς και ερευνητικούς σκοπούς. Το παραπάνω περιεχόμενο δεν θα χρησιμοποιηθεί για εμπορικούς ή παράνομους σκοπούς, άλλως οι χρήστες θα υποστούν όλες τις συνέπειες. Οι πληροφορίες σε αυτόν τον ιστότοπο προέρχονται από το Διαδίκτυο και οι διαφορές πνευματικών δικαιωμάτων δεν έχουν καμία σχέση με αυτόν τον ιστότοπο. Πρέπει να διαγράψετε εντελώς το παραπάνω περιεχόμενο από τον υπολογιστή σας εντός 24 ωρών από τη λήψη. Εάν σας αρέσει το πρόγραμμα, υποστηρίξτε γνήσιο λογισμικό, αγοράστε εγγραφή και λάβετε καλύτερες γνήσιες υπηρεσίες. Εάν υπάρχει οποιαδήποτε παραβίαση, επικοινωνήστε μαζί μας μέσω email.

Mail To:help@itsvse.com