Wiele przykładów pokazuje największą wartość albo najwcześniejszą datę, albo najniższy wskaźnik itp. A jak odnaleźć drugą wartość!? Jak ustalić który produkt był w ramach jednego dużego zakupu kupowany jako drugi? Jak znaleźć drugą co do wartości wielkość zakupu? Czytaj dalej »
Jak znaleźć w zapytaniu SQL drugi rekord z kolei w rankingu?
Tutorial – Działający przykład Service Brokera (MS SQL 2008)
Serwis broker pozwala na pewne przesyłanie danych między różnymi bazami danych, instancjami, czy nawet serwerami. Poszerza on więc możliwości serwera SQL o możliwość niezawodnego przekazywania informacji poza serwer. Samo przekazywanie danych opiera się o odpowiednie protokoły sieciowe i dostęp uzyskany do ENDPOINT-ów na serwerach.
W poniższym przykładzie zademonstruję działanie Service Brokera w obrębie jednej tylko bazy danych, co zazwyczaj w praktyce się nie zdarza. Można by go rozbudowywać dalej, ale… i bez tego sprawa wydaje się już dosyć skomplikowana.
Poniższy skrypt uruchamiany krok po kroku utworzy działający serwis broker. Można go ściągnąć stad. Więc do dzieła! Czytaj dalej »
Jak wywołać inny program (proces) z programu w c#?
Dziś zmierzyłem się z zadaniem wywołania innego programu z C#. W tym przypadku miałem zaczekać na zakończenie działania tego nowego procesu, a następnie kontynuować swoje działania.
Z pomocą przyszła mi klasa System.Diagnostics.ProcessStartInfo, która została obudowana tak, by po prostu wywołać metodę przekazując do niej jedynie ścieżkę do porogramu, który ma być uruchomiony. Do konstruktora należy przekazać, jaki program chcesz uruchomić. Czytaj dalej »
Wyszukanie pierwszego i kolejnych wystąpień znaku w napisie w T-SQL
Kursant zapytał mnie dziś: Jak wyświetlić w SQL pozycje wszystkich znaków ‘-‘ w polu tabeli. Czyli jeżeli mam napis ABC-DEF-GHIJ-KL, to chcielibyśmy znaleźć pozycję znaku ‘-‘ w danym napisie, a następnie znaleźć jego dalsze wsytąpienia: 4,8, 13.
Pierwsze próby opierały się na składaniu funkcji CHARINDEX:
SELECT CHARINDEX(’-’,’tekst-z-myslnikami’, 1) AS x1, CHARINDEX(’-’,’tekst-z-myslnikami’, CHARINDEX(’-’,’tekst-z-myslnikami’, 1)+1) AS x2 Czytaj dalej »Opcje dostępu do bazy danych dla użytkowników SINGLE_USER, MULTI_USER, RESTRICTED_USER (db user access options)
Opcje dostępu użytkowników do bazy danych kontrolują, kto może korzystać z bazy danych. Używa się ich zwłaszcza podczas wykonywania prac administracyjnych na bazach danych. Ot po prostu, kiedy chcesz coś zrobić, a się nie da, bo są zalogowani inni użytkownicy, masz szansę ich wyrzucić i zostać jedynym władcą swojej bazy danych.
Ale po kolei. Owe stany dostępu to:
- MULTI_USER – domyślny stan. Każdy użytkownik z odpowiednimi uprawnieniami może się połączyć z bazą danych.
- RESTRICTED_USER – opcja 'dla mnie i kolegów’. Pozwala pracować na bazie danych wyłącznie użytkownikom administracyjnym czyli db_owner, db_creator, sysadmin. Nie ma limitu co do ilości połączeń, tzn może pracować wielu administratorów, ale połączenia innych użytkowników będą odrzucane. Ale hola, hola! Co z istniejącymi połączeniami zwykłych użytkowników? Zostaną wyrzuceni, czy zostaną!? Czytaj dalej »
Jak zmienić wyrównanie w kolumnie w DataGridView na prawostronne?
Domyślne wyrównanie danych w komórkach obiektu DataGridView jest do lewej strony. Jeżeli chcesz zmienić ten domyślny schemat i zmienić styl komórek w całej kolumnie. Operacja jest prosta:
DataGridView1.Columns("ContactID").DefaultCellStyl e.Alignment =
DataGridViewContentAlignment.MiddleRight
Jak wysłać formularz metodą POST z aplikacji Windows Forms i uwierzytelnić sesję
C# posiada metody pozwalające na ściągnięcie wskazanej strony internetowej i jej dalsze przetworzenie lub np zapisanie na dysku. Jak wiadomo, dialog z serwerami www polega zazwyczaj na wysyłaniu do nich żądań (request) i otrzymywaniu od nich odpowiedzi (response). Kiedy klient otrzyma odpowiedź na swoje żądanie, może przetworzyć kod HTML otrzymanej strony i na jego podstawie zażądać kolejnych stron. Zresztą w identyczny sposób działa przeglądarka internetowa. Żeby przeczytać ten artykuł musiałeś wystosować żądanie i otrzymałeś odpowiedź. Patrząc na tę stronę (przetwarzając ją) możesz podjąć decyzję o skierowaniu nowego żądania do serwera poprzez kliknięcie na inny odnośnik znajdujący się na tej stronie.
Wspomniane metody języka C# pozwalające na taką pracę ze stronami www to WebRequest i WebResponse. Na ich bazie zdefiniowano także klasy HttpWebRequest i HttpWeb Response, poszerzające klasę o kilka specyficznych dla protokołu HTTP właściwości.
Sprawa jednak się nieco komplikuje, jeżeli serwer www dorzuca do przekazywanej nam wiadomości inne dodatki np ciasteczka (cookies) czy identyfikator sesji PHP. Może być tak, że kiedy po swoim żądaniu otrzymasz odpowiedź, to realizacja kolejnego żądania, będzie się wiązać z przekazaniem takich przesłanych nam „mimochodem” elementów. Czytaj dalej »





























