Λίστα (List) με <poDbCommandArg>
Τα αντικείμενα αυτού του τύπου στα παραδείγματα εμφανίζονται ως args
Properties
Count
Ιδιότητα που δηλώνει το πλήθος των εγγραφών που πραγματικά έχουν εισαχθεί (Items).
Επιστρέφει: Int32.
Παράδειγμα:
var lgCount = args.Count; ή for (var argCount = 0 ; argCount < args.Count ; argCount++) { Κώδικας.. }
Capacity
Ιδιότητα που δηλώνει χωρητικότητα. Default (4). Μπορεί να καθοριστεί εξ’ αρχής με την δήλωση
var args = new scDbCommandArgs( <πλήθος> ) ;
ή
var args = new scDbCommandArgs() ;
var capacity = args. Capacity;
Καθορίζει το πλήθος των εγγραφών που μπορούν να αποθηκευτούν στην λίστα χωρίς αλλαγή μεγέθους.
Επηρεάζεται από τις Add και AddRange
Επιστρέφει : Int32. Προσοχή.
Δεν θα πρέπει να συγχέεται με το πόσες εγγραφές έχουν εισαχθεί.
Για αυτό τον σκοπό χρησιμοποιείται η «Count».
ClientSide
Ορίζει τον τρόπο εκτέλεσης. (Client = true, Server = false)
CommandTimeout
Αφορά τον συνολικό χρόνο αναμονής που χρειάζεται, σε δευτερόλεπτα, για να εκτελεστεί μια εντολή SQL πριν τερματιστεί η προσπάθεια εκτέλεσης με μήνυμα λάθους. Default τιμή κατά την δημιουργία -1 (Απεριόριστο). Θα πρέπει γενικά σαν πρακτική να καθορίζετε τιμή.
CommandType
Enumerator που δηλώνει πώς θα ερμηνεύεται ένα Command String.
0. Text (SQL εντολή) (Default).
1. StoredProc . Εκτέλεση Stored Procedure.
Count
Ιδιότητα που δηλώνει το πλήθος των εγγραφών που πραγματικά έχουν εισαχθεί (Items).
Επιστρέφει: Int32.
Παράδειγμα:
var lgCount = args.Count;
ή
for (var lgCount = 0 ; lgCount < args.Count ; lgCount++) { Κώδικας.. }
DataReaderCommandBehavior
Enumerator <CommandBehavior Enum> που δηλώνει πώς θα ερμηνεύεται ένα Command String. Για χρήση με Data Readers. Default τιμή = CommandBehavior.CloseConnection (32).
EnforceConstraints()
true ή false για το αν θα πρέπει να ενεργοποιηθούν τα Constraints σε διαδικασίες update. Default τιμή = true.
FromPos
Χρησιμοποιείται σε συνδυασμό με την MaxRows όταν χρειάζεται να γίνει τμηματική παρουσίαση των αποτελεσμάτων. Default τιμή = 0.
Item[]
ScriptObject.Item[] (indexer). Επιτρέπει την πρόσβαση στα Properties ενός Object σαν Array. Επιστρέφει ή αναθέτει τιμή στις στήλες.
➢ [ name ]
Επιστρέφει poDbCommandArg με βάση το όνομα.
Παράδειγμα : var item = args["Name"];
➢ [ index ]
Επιστρέφει poDbCommandArg με βάση την θέση ( 0 = Πρώτη θέση )
Παράδειγμα : var item = args[0];
MaxRows
Επιστρέφει ή καθορίζει το μέγιστο πλήθος εγγραφών που μπορεί να επιστραφεί από ένα Query. Default = -1 (όλες).
Χρησιμοποιείται σε συνδυασμό με την FromPos όταν χρειάζεται να γίνει τμηματική παρουσίαση των αποτελεσμάτων
Παράδειγμα: args.MaxRows = 200; ή var maxArgsRows = args.MaxRows;
SchemaOnly
Για χρήση με ExecuteResultSet προκειμένου να επιστραφεί μόνο το Schema και όχι αναλυτικές εγγραφές. Boolean ( true,false)
TableName
Όνομα πίνακα. Αποδίδει όνομα στον πίνακα [0] του DataSet που επιστρέφεται από το Query. Default τιμή "Table"
Παράδειγμα: args.TableName = "MyTableName";
Methods
Add
Προσθέτει αντικείμενο poDbCommandArg στο τέλος της λίστας.
Παράμετροι:
- name ( String) Όνομα παραμέτρου
- value ( οbject ) Τιμή παραμέτρου
- item <poDbCommandArg>
➢ Add( name,value )
➢ Add( item )
Παράδειγμα:
var args = new scDbCommandArgs();
args.Add("<name>","<value>")
AddRange( collection )
Προσθέτει τα στοιχεία του collection ( poDbCommandArgs ) στο τέλος της λίστας .
AddValue( value )
Προσθέτει στην λιστα εγγραφή με βάση την τιμή. Στο όνομα γίνεται αυτόματη ανάθεση με παραγόμενη τιμή = @+UniqueString(10) . π.χ. @0000010001.
Παράμετροι: value ( poDbCommandArg.Value ) .
AsReadOnly()
Επιστρέφει λίστα με κλειδωμένες εγγραφές ( ReadOnlyCollection<T> wrapper) .
Παράδειγμα:
function main() {
var args = new scDbCommandArgs();
var newReadO;
args .Add ("@DentID", "22933c54-4253-ec11-bd01-5cea1d9a70e3");
args.Add("@CstmID", "9a10df10-4d93-e911-bc6f-5cea1d9a70e3");
newReadO = args.AsReadOnly();
sc$UI.Dialogs.ShowInformation("i", newReadO[0]);
newReadO[1] = null;
}
To Script θα παράγει μήνυμα σφάλματος εφόσον το αντικείμενο που θέλουμε να μεταβάλλουμε είναι Read Only.

Εικόνα 3
BinarySearch
Παράμετροι:
- Item <poDbCommandArg>
- index (Int32)
- count (Int32)
- comparer (iComparer). Δεν μπορεί να υλοποιηθεί με Script. Αν δεν συμπληρωθεί καθόλου τότε χρησιμοποιείται Default Comparer για την σύγκριση.
➢ BinarySearch( item )
var pos = args.BinarySearch(item3);
➢ BinarySearch( index, count, item, comparer )
var pos = args.BinarySearch(0,3,item3); //Παραλείπεται ο Comparer
➢ BinarySearch( item , comparer )
var pos = args.BinarySearch(item3); //Παραλείπεται ο Comparer
Clear()
Καθαρίζει την λίστα διαγράφοντας τα Items που περιέχει.
Παράδειγμα: args.Clear()
Clone()
Αντιγραφή (Κλωνοποίηση) της λίστας .
Επιστρέφει: Νέα λίστα <poDbCommandArg>
Contains( item )
Επιστρέφει Boolean true ή false αν κάποια τιμή περιέχεται στις τιμές της λίστας.
Παράμετροι : item ( poDbCommandArg ). Το αντικείμενο που θα αναζητηθεί.
ConvertAll( converter )
Μετατρέπει τα στοιχεία της λίστας σε άλλο τύπο και επιστρέφει νέα λίστα που περιέχει τις εγγραφές που μετατράπηκαν.
Παράμετροι: converter (Converter`2)
Επιστρέφει : List`1
CopyTo( index, array, arrayIndex, count )
Αντιγράφει ένα poDbCommandArg σε άλλο σημείο της λίστας.
Παράμετροι :
- index (Int32)
- array (poDbCommandArg)
- arrayIndex (Int32)
- count (Int32)
Exists( match )
Υπάρχει για λόγους συμβατότητας δεν μπορεί να χρησιμοποιηθεί σε Scripts λόγω του ότι απαιτεί Predicate`1
Find( match )
Υπάρχει για λόγους συμβατότητας δεν μπορεί να χρησιμοποιηθεί σε Scripts λόγω του ότι απαιτεί Predicate`1
FindAll( match )
Υπάρχει για λόγους συμβατότητας δεν μπορεί να χρησιμοποιηθεί σε Scripts. Απαιτεί Predicate`1
FindIndex( match )
Υπάρχει για λόγους συμβατότητας δεν μπορεί να χρησιμοποιηθεί σε Scripts. Απαιτεί Predicate`1
FindLast( match )
Υπάρχει για λόγους συμβατότητας δεν μπορεί να χρησιμοποιηθεί σε Scripts. Απαιτεί Predicate`1
FindLastIndex()
Υπάρχει για λόγους συμβατότητας δεν μπορεί να χρησιμοποιηθεί σε Scripts .Απαιτεί Predicate`1
ForEach()
Υπάρχει για λόγους συμβατότητας δεν μπορεί να χρησιμοποιηθεί σε Scripts. Απαιτεί Action`1
GetEnumerator()
Προσφέρει εναλλακτικό τρόπο περιήγησης στα Items της λίστας.
Επιστρέφει: IEnumerator
Παράδειγμα:
function main() {
var args = new scDbCommandArgs();
args.Add("@ItemID", "test");
args.AddError("error", "test2");
var enumer = args.GetEnumerator();
enumer.MoveNext();
sc$UI.Dialogs.ShowInformation("i", enumer.Current);
enumer.MoveNext();
sc$UI.Dialogs.ShowInformation("i", enumer.Current);
}
GetParametersString()
Επιστρέφει String με τις τιμές παραμέτρων.
Παράδειγμα: args. GetParametersString();
GetRange( index , count )
Επιστρέφει όλες τις περιγραφές των μηνυμάτων σε λίστα. (List`1)
Παράμετροι:
- index (Int32). Θέση από την οποία θα ξεκινήσει. 0 = Πρώτη θέση.
- count (Int32). Πλήθος εγγραφών που θα επιστρέψει.
Παράδειγμα: var List = args. GetRange(0,4)
IndexOf( item, index, count )
Επιστρέφει (Int32) με την θέση ενός <poDbCommandArg> item μέσα στην λίστα.
Παράμετροι:
- item ( poDbCommandArg )
- index (Int32)
- count (Int32)
Insert( index , item )
Εισάγει στην λίστα νέο <poDbCommandArg> item, σε συγκεκριμένη θέση.
Παράμετροι :
- index (Int32)
- item ( poDbCommandArg )
InsertRange( index , collection )
Εισάγει στην λίστα νέες εγγραφές σε συγκεκριμένη θέση από μία άλλη λίστα.
Παράμετροι :
- index (Int32)
- collection (poDbCommandArg).
Παράδειγμα:
LastIndexOf
Επιστρέφει (Int32) την τελευταία θέση που βρέθηκε στην λίστα το Item που δόθηκε ως παράμετρος. Εάν βρεθεί επιστρέφει την θέση. ( Πρώτη θέση = 0) αλλιώς -1
Παράμετροι:
- item <poDbCommandArg>
- index (Int32). H θέση εκκίνησης.
- count (Int32). To πλήθος εγγραφών.
➢ LastIndexOf( item )
➢ LastIndexOf( item, index )
H αναζήτηση ξεκινά από την θέση <index>
➢ LastIndexOf( item, index, count )
H αναζήτηση ξεκινά από την θέση <index> και για count πλήθος εγγραφών.
Merge( args )
Συγχώνευση εγγραφών στην λίστα.
Παράμετροι : args ( poDbCommandArgs )
Παράδειγμα: args.Merge( args );
Remove( item )
Επιστρέφει true αν αφαιρέσει από την λίστα την πρώτη εγγραφή που θα βρει για συγκεκριμένο item.
Παράμετροι : item <poDbCommandArg>
Παράδειγμα: var OccurenceRemoved = args.Remove( arg );
RemoveAll( match)
Υπάρχει για λόγους συμβατότητας δεν μπορεί να χρησιμοποιηθεί σε Scripts. Απαιτεί Predicate`1
RemoveAt( index )
Αφαιρεί από την λίστα την εγγραφή στην συγκεκριμένη θέση.
Παράμετροι : index (Int32). Πρώτη θέση = 0.
Παράδειγμα : args.RemoveAt(0); // Πρώτη Θέση.
RemoveRange( index,count )
Αφαιρεί από την λίστα εγγραφές, ξεκινώντας από στην συγκεκριμένη θέση (index) και για count εγγραφές. Πρώτη θέση = 0.
Παράμετροι :
- index (Int32)
- count (Int32)
Παράδειγμα : args. RemoveRange(1,2);
Reverse
Αντιστρέφει την σειρά ταξινόμησης των item της λίστας.
➢ Reverse()
Παράδειγμα: args. Reverse();
➢ Reverse( index ,count )
Αντιστρέφει την σειρά ταξινόμησης των item της λίστας ξεκινώντας από στην συγκεκριμένη θέση (index) και για count εγγραφές.
Παράδειγμα: args. Reverse(2,4);
Sort
Ταξινομεί τα items ολόκληρης της λίστας.
Παράμετροι:
➢ Sort()
Ταξινομεί τα items ολόκληρης της λίστας.
Παράδειγμα: args.Sort();
➢ Sort( index, count, comparer )
Υπάρχει για λόγους συμβατότητας δεν μπορεί να χρησιμοποιηθεί σε Scripts. Απαιτεί IComparer`1
➢ Sort( comparison )
Υπάρχει για λόγους συμβατότητας δεν μπορεί να χρησιμοποιηθεί σε Scripts. Απαιτεί Comparison`1
ToArray()
Επιστρέφει : Array. <poDbCommandArg[]>
Παράδειγμα: var argsArr = args. ToArray();
TrimExcess()
Θέτει Capacity = Count. Συνήθως μετά από την χρήση της Clear ()
Παράδειγμα: args.TrimExcess();
TrueForAll( match )
Υπάρχει για λόγους συμβατότητας δεν μπορεί να χρησιμοποιηθεί σε Scripts λόγω του ότι απαιτεί Predicate`1