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

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

[Πηγή] String[3]: η ιδιότητα Size έχει μη έγκυρο μέγεθος 0.

[Αντιγραφή συνδέσμου]
Δημοσιεύτηκε στις 26/10/2015 9:39:40 π.μ. | | |
Όταν καλείτε μια αποθηκευμένη διαδικασία σε ένα πρόγραμμα C#, μια περίεργη εξαίρεση String[3]: η ιδιότητα Size έχει μη έγκυρο μέγεθος 0.

Η αποθηκευμένη διαδικασία που έχει αυτό το πρόβλημα χαρακτηρίζεται από την παρουσία παραμέτρων τύπου varchar ή nvarchar

Ο ορισμός αυτής της παραμέτρου κατά τη στιγμή της κλήσης είναι παρόμοιος με
SqlParameter para = νέα SqlParameter("@paraname", DBType.String);


Λύση: Η παράμετρος out πρέπει να έχει καθορισμένο μήκος, επομένως θα πρέπει να αρχικοποιηθεί ως εξής:
SqlParameter para = νέα SqlParameter("@paraname", DBType.String, μέγεθος);

  1. DBHelper db = new DBHelper();
  2.             SqlParameter[] param = new SqlParameter[5];
  3.             param[0] = new SqlParameter("ID", SqlDbType.Int);
  4.             param[0].Direction = ParameterDirection.Output;
  5.             param[1] = new SqlParameter("UserID", userid);
  6.             param[2] = new SqlParameter("UserName", SqlDbType.NVarChar, 50);
  7.             param[2].Direction = ParameterDirection.Output;
  8.             param[3] = new SqlParameter("Password", pass);
  9.             param[4] = new SqlParameter("Result", SqlDbType.Int);
  10.             param[4].Direction = ParameterDirection.Output;

  11.             var spc = db.Crm_ExecuteNonQueryReturns("pUserLogin",param);
Αντιγραφή κώδικα






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

Mail To:help@itsvse.com