sId | (String) Jednoznaczny identyfikator, 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ć polecenie 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ć przez przy otwarciu 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 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 przy otwarciu 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 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 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 wartości ADO adOpenStatic. "lock:xxx;" (opcjonalne) - Określa typ blokady (zabezpieczenie dostępu równoległego), który ADO Provider ma zastosować przy otwarciu obiektu AdoRecordset.
readonly (domyślnie) - Tylko do odczytu. Dane nie można edytować.
Odpowiada 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) nie zostaną potwierdzone przy pomocy metody AdoRecordset.Update lub odwołane przy pomocy metody AdoRecordset.CancelUpdate. Odpowiada 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 wartości ADO adLockOptimistic. batchoptimistic - Blokowanie optymistyczne, tryb wsadowy, wymagane do wsadowego trybu edycji, w kontraście do doraźnego trybu edycji.
Odpowiada 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 wartości ADO adCmdText. table - Określa, że ADO Provider ma wytworzyć polecenie SQL w taki sposób, że zostaną zwrócone wszystkie rekordy tabeli bazodanowej, której nazwa jest przedstawiona w parametrze sSource.
Odpowiada wartości ADO adCmdTable. storedproc - Określa, że ADO Provider ma zastosować parametr sSource jako procedurę składowaną.
Odpowiada 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 wartości ADO adCmdFile. "execute:xxx;" (opcjonalne) - Określa, w jaki sposób ADO Provider ma wykonać polecenie SQL. Domyślnym jest polecenie synchroniczne, to znaczy, że metoda oczekuje na wynik operacji.
async - Asynchroniczne polecenie, to znaczy, że metoda nie czeka na wynik operacji.
Odpowiada wartości ADO adAsyncExecute. asyncfetch - Określa, że wiersze określone w właściwości ADO Recordset.CacheSize mają być odczytywane synchronicznie, i pozostające wiersze majązostać odczytane asynchronicznie.
Odpowiada wartości ADO adAsyncFetch. asyncfetchnonblocking - Określa, że główny wątek (thread) nie będzie nigdy blokowane podczas odczytu. Jeżeli wymagany wiersz nie zosta wczytany, wtedy wskaźnik bieżącego rekordu zostanie przesunięty na koniec.
Odpowiada 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 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 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();
}
}