sId | (String) Jednoznaczny identyfikator tekstowy, pod którym obiekt PmaAdo utrzyma rezultat polecenia w formie obiektu AdoRecordset.
Jeżeli jest wprowadzony pusty łańcuch (""), wtedy polecenie SQL wprawdzie zostanie wykonane i rezultat w formie obiektu AdoRecordset zostanie zwrócony, lecz obiekt PmaAdo nie będzie go utrzymywać. To jest dogodne zwłaszcza w przypadkach, kiedy w skrypcie jest konieczne wykonać zapytanie SQL i dane w skrypcie bezpośrednio opracować z tym, że obiekt AdoRecordset zostanie bezpośrednio po tym zwolniony. |
---|---|
sSource | (String) Zazwyczaj polecenie w składni języka SQL (SELECT). Może jednak zawierać nazwę tabeli, wywołanie procedury składowanej, nazwa lub Adres URL pliku zawierającego zapisany obiekt AdoRecordset. |
sParams | (String) Dodatkowe parametry metody RsOpen. Dane są tutaj w formacie KeyVal, na przykład "cursor:forwardonly;lock:readonly;command:text;return:map;".
"cursor:xxx;" (opcjonalne) - Określa typ kursora, który ADO Provider ma zastosować podczas otwarcia obiektu AdoRecordset.
forwardonly (domyślnie) - Funkcjonuje tak samo jak kursor "static" z tym wyjątkiem, że rekordy można przechodzić tylk do przodu. To zwiększa wydajność w sytuacjach, kiedy zachodzi konieczność tylko jednego przejścia poprzez obiekt AdoRecordset. Właściwość AdoRecordset.RecordCount zawsze zwraca wartość -1, ponieważ ADO dla tego rodzaju kursorów nie potrafi określić ilość rekordów.
Odpowiada to wartości ADO adOpenForwardOnly. keyset - Funkcjonuje tak samo jak kursor "dynamic" z tym wyjątkiem, że nie zawiera żadnych rekordów ewentualnie dodanych lub usuniętych przez innych użytkowników.
Wszystkie zmiany w danych dokonane przez innych użytkowników, dostępne podczas otwarcia obiektu AdoRecordset, będą wciąż widzialne. Bookmarks są zawsze zezwolone, i dlatego można wykorzystać wszytkich możliwości do poruszania się wewnątrz obiektu AdoRecordset. Odpowiada to wartości ADO adOpenKeyset. dynamic - Wyświetla wszystkie dane dodane, zmienione lub usunięte przez innych użytkowników i umożliwia wszystkie typy poruszania się po obiekcie AdoRecordset, które nie są założona na Bookmarks.
Bookmarks są zezwolone, jeżeli wspiera je ADO Provider. Ten typ kursora nie jest wspierany w Microsoft Jet 4.0 OLE DB Provider. Odpowiada to wartości ADO adOpenDynamic. static - Oferuje statyczną kopię rekordów z możliwością ich zmiany.
Wszystkie zmiany, rekordy dodane lub usunięte przez innych użytkowników nie będą widzialne, dopóki nie zostanie wywołana metoda AdoRecordset.Resync. Chodzi również o jedyny typ kursora, jeżeli obiekt AdoRecordset jest otwierany po stronie klienta. Bookmarks są zawsze zezwolone i dlatego można wykorzystać wszystkich możliwości poruszania się wewnątrz obiektu AdoRecordset. Odpowiada to wartości ADO adOpenStatic. "lock:xxx;" (opcjonalne) - Określa typ blokady (zabezpieczenie dostępu równoległego), który ADO Provider ma zastosować podczas otwarcia obiektu AdoRecordset.
readonly (domyślnie) - Tylko do odczytu. Dane nie można edytować.
Odpowiada to wartości ADO adLockReadOnly. pessimistic - Blokowanie pesymistyczne, rekord po rekordzie, ADO Provider wykonuje to, co jest konieczne do zapewnienia pomyślnej edycji rekordów.
Zazwyczaj zablokowaniem rekordów w źródle danych zaraz po rozpoczęciu edycji. Pozostali użytkownicy nie mogą odczytywać lub edytować danych, dopóki zmiany (edycja, która doprowadziła do zablokowania danych) albo nie zostaną potwierdzone przy pomocy metody AdoRecordset.Update lub odwołane przy pomocy metody AdoRecordset.CancelUpdate. Odpowiada to wartości ADO adLockPessimistic. optimistic - Blokowanie optymistyczne, rekord po rekordzie, ADO Provider zablokuje wszystkie rekordy w źródle danych dopiero przez wywołanie metody AdoRecordset.Update. Pozostali użytkownicy mogą odczytywać, edytować i zapisywać zmiany nawet w tym samym rekordzie, który jest już otwarty.
Odpowiada to wartości ADO adLockOptimistic. batchoptimistic - Blokowanie optymistyczne, tryb wsadowy, wymagane do wsadowego trybu edycji, w kontraście do doraźnego trybu edycji.
Odpowiada to wartości ADO adLockBatchOptimistic. "command:xxx;" (opcjonalne) - Określa, w jaki sposób ADO Provider ma podsumować parametr sSource, zwłaszcza jeżeli zawiera coś innego, niż polecenie w składni języka SQL (np. SELECT, INSERT, itd.).
text (domyślnie) - Określa, że ADO Provider ma zastosować parametr sSource jako tekstowy zapis polecenia.
Odpowiada to wartości ADO adCmdText. table - Określa, że ADO Provider ma wytworzyć zapytanie SQL w taki sposób, że zostaną zwrócone wszystkie rekordy tabeli bazodanowej, której nazwa jest przedstawiona w parametrze sSource.
Odpowiada to wartości ADO adCmdTable. storedproc - Określa, że ADO Provider ma zastosować parametr sSource jako procedurę składowaną.
Odpowiada to wartości ADO adCmdStoredProc. file - Określa, że zapisany obiekt AdoRecordset ma zostać wczytany z pliku, którego nazwa jest przedstawiona w parametrze sSource.
Odpowiada to wartości ADO adCmdFile. "execute:xxx;" (opcjonalne) - Określa, w jaki sposób ADO Provider ma wykonać zapytanie SQL. Domyślnym jest zapytanie synchroniczne, to znaczy, że metoda oczekuje na wynik operacji.
async - Asynchroniczne zapytanie, to znaczy, że metoda nie czeka na wynik operacji.
Odpowiada to wartości ADO adAsyncExecute. asyncfetch - Określa, że wiersze określone właściwością AdoRecordset.CacheSize mają być odczytywane synchronicznie, i pozostające wiersze majązostać odczytane asynchronicznie.
Odpowiada to wartości ADO adAsyncFetch. asyncfetchnonblocking - Określa, że główny wątek (thread) nie będzie nigdy blokowane przy odczycie.
Jeżeli wymagany wiersz nie zosta wczytany, wtedy wskaźnik bieżącego rekordu zostanie przesunięty na koniec. Odpowiada to wartości ADO adAsyncFetchNonBlocking. norecords - Określa, że wywołane zapytanie/polecenie nie zwraca żadnych danych.
Jeżeli polecenie zwraca dane, wtedy zostaną one zignorowane i nie zostaną zwrócone (żaden obiekt AdoRecordset = wartość null dla JavaScript lub Nothing dla VBScript). Odpowiada to wartości ADO adExecuteNoRecords. record - Określa, że wywołane zapytanie/polecenie zwraca jeden wiersz, który ma zostać zwrócony w formie obiektu AdoRecord.
Odpowiada to wartości ADO adExecuteRecord. "return:xxx;" (opcjonalne) - Określa, czy wartość zwrotna metody ma być mapą z większą ilością zwróconych wartości równocześnie (nowy sposób) lub tylko jedną wartością (stary sposób).
Jeżeli nie jest ustawione, wtedy zostanie zastosowany stary sposób. map - Zwraca mapę (obiekt PmMap), która zawiera większą ilość zwróconych wartości równocześnie (nowy sposób) (np. Result, AffectedRows, ErrorCode, ErrorText). |
var oDb = pMe.Pm("/TestAdoDb");
var oRs = oDb.RsOpen("table1", "SELECT * FROM table1", "cursor:static;");
if (oRs)
{
oRs.MoveFirst();
while (! oRs.EOF)
{
Pm.Debug("Field name=" + oRs.Fields.Item(0).Name + ", value=" + oRs.Fields.Item(0).Value);
oRs.MoveNext();
}
}
var oDb = pMe.Pm("/TestAdoDb");
var oRs = oDb.RsOpen("table1", "SELECT * FROM table1", "cursor:static;");
if (oRs)
{
oRs.MoveLast();
while (! oRs.BOF)
{
Pm.Debug("Field name=" + oRs.Fields.Item(0).Name + ", value=" + oRs.Fields.Item(0).Value);
oRs.MovePrevious();
}
}