C# ListView – jak stworzyć ListBox z wieloma kolumnami?

2011-09-02

Ostatnimi czasy potrzebna była kontrolka prezentująca dane poukładane ładnie w wierszach i kolumnach, ale z pewnych względów nie można było użyć DataGridView. DataGridView to potężne narzędzie, a nie zawsze trzeba używać armaty…

Rozwiązaniem okazała się prezentacja danych za pomocą ListView. ListView definiuje kolumny, ich szerokości oraz pozwala na dodawanie pozycji wierszy (Item), które posiadają „podpozycje” (SubItem). Owe podpozycje to po prostu dane, które należy umieścić w kolejnych kolumnach kontrolki. Zobaczmy to w szczegółach: Czytaj dalej »

Varchar(Max) – jeśli nie jest za duży może być zapisany w strukturze rekordu

2011-08-15

varchar(max) to typ pozwalający zachowywać w bazie danych 2^31 bajtów danych. Ponieważ rekordy znajdują się na stronach, a rozmiar strony to 8 KB, to takie dane trzeba przechowywać poza rekordem. W rekordzie zajmuje się jedynie 16 bitów na wskaźnik. Istnieje opcja pozwalająca przechowywać dane typu varchar(max) na stronie z rekordem o ile oczywiście w danej stronie zostało odpowiednio dużo wolnego miejsca. Czytaj dalej »

By Rafał Kraik in SQL

Dlaczego nie można indeksować po polu varchar(max)

2011-08-14

Zacznijmy od tego co to jest varchar(max). Dawno temu, w wersji SQL 2000 kiedy chciałeś umieścić w tabeli duże pole z zawartością tekstową mogłeś skorzystać z pola typu text. W Accessie zaś odpowiednikiem varchar(max) jest typ nota. Zazwyczaj definiując tabelę i jej kolumny, określasz rozmiar przechowywanych danych oraz sposób kodowania np varchar(20) lub nvarchar(20), kiedy jednak wiesz, że w polu ma być przechowywane coś dużego, to odgadywanie tej wielkości jest problematyczne… może varchar(100), a może varchar(1000)…. Czytaj dalej »

By Rafał Kraik in SQL

Wykonanie czynności dla wielu tabel w bazie danych lub dla wielu baz danych

2011-08-13

Zdarza się że pewną czynność (zazwyczaj administracyjną) musisz wykonać względem wszystkich lub kilku wybranych tabel w bazie danych. Administrator bazy danych marzy wtedy o poleceniu rodem z C# np.

foreach(table in sys.tables)
{
     EXECUTE sp_spaceused table
}

Niestety tego nie ma… Można się posiłkować kursorem lub tworzyć własne procedury, albo… użyć nieudokumentowanej procedury sp_MSforeachtable ! Czytaj dalej »

By Rafał Kraik in SQL

Jak zsynchronizować kalendarz z Outlooka z kalendarzem GMail i z kalendarzem na Android?

2011-08-10

Jesteś w domu i zastanawiasz się co sobie zaplanowałeś do zrobienia w pracy w przyszłym tygodniu. Jesteś w pracy i zastanawiasz się czy nie obiecałeś żonie zarezerwować jednego dnia na wspólny wypad za miasto. Jesteś w delegacji i nie jesteś pewien kiedy dysponujesz wolnym czasem… Kto współpracuje z wieloma osobami na wielu frontach i skusił się na prowadzenie elektronicznego kalendarza musi spotykać się z takimi problemami. Ja też. Ale już go rozwiązałem… Czytaj dalej »

By Rafał Kraik in Helpdesk

Jak i po co zrootowałem Androida?

2011-08-08

Po pierwsze co to znaczy zrootować – wg mnie to dokonać takiej zmiany konfiguracyjnej telefonu, aby możliwe było uruchamianie aplikacji w trybie administratora.

Po drugie po co? Bywają takie operacje, których programiści aplikacji nie przewidzieli do wykonania w swoim kodzie. W moim przypadku, nieszczęśliwie i w pośpiechu, jako główne konto e-mail skojarzone z androidem wybrałem nie to konto co by należało… W efekcie telefon synchroniczował się nie z moim kontem email na gmailu tylko z pewnym kontem 'technicznym’. Niestety Google nie pozwala zmienić tego konta 🙁 Jedyne co można zrobić to przywrócić telefon do ustawień fabrycznych, a tego zrobić nie chciałem. Czytaj dalej »

By Rafał Kraik in Linuxy

Jak sprawdzić jaka jest rozdzielczość ekranu w c#

2011-08-03

Tym razem zadanie polegało na otwarciu okna, które zajęłoby 1/6 ekranu od góry. Trzeba więc sprawdzić jaka jest rozdzielczość ekranu na komputerze. Można tego dokonać wykorzystując właściwości klasy System.Windows.Forms.Screen. W moim przypadku czynności te umieściłem w metodzie Shown formy: Czytaj dalej »