2011-01-12
Formatując dyski w domowych czy firmowych komputerach zazwyczaj tworzę co najmniej dwie partycje dyskowe. Jedna to system i czasami aplikacje, a druga to obszerne dane użytkownika. Ponieważ i tak wiele danych trafia na pierwszą partycję, to można przyjąć, że na pierwszym dysku, czy partycji ilość tworzonych i kasowanych plików jest duża i musi on intensywnie pracować. Po co dodatkowo obciążać ten dysk danymi użytkownika?
Pliki offline (pozwalające na lokalne składowanie danych z serwerów na lokalnych komputerach) ma na celu zminiejszenie awaryjności korzystania z zasobów sieciowych. Usługa kopiuje dane z serwera, umieszcza je na dysku lokalnym, a kiedy dojdzie do awarii, pozwala pracować na lokalnej kopii danych.
Pliki offline znajdują się na systemie klienckim w katalogu c:\windows\CSC. Folder ten jed domyślnie ukryty. Niestety, apetyt rośnie w miarę jedzenia, więc użytkownicy zbierają coraz to więcej danych i odkładają kopię tych plików we wskazanym folderze. U niektórych miejsca na C: zabranie i chciałoby się przenieść ten folder na inny dysk lokalny. Czytaj dalej »
2011-01-12
Ale wszyscy się cieszą, kiedy dostają Office 2010. To już nie te czasy, kiedy z wersji 2003 przesiadali się na 2007 i… o rety, gdzie są moje polecenia!?
Jednak niekiedy pojawiają się dziwne problemy, które z administracyjnego punktu widzenia, kiedyś było łatwiej rozwiązać niż obecnie – ot przykład – makra. Na zgłoszenie typu „nie działają makra” wydawało mi się że już wiem wszystko. Przecież prawdopodobnie wystarczy włączyć pytanie o uruchamianie makr. Okazało się jednak, że to nie jedyny krok. Można się jeszcze napotkać na problem z Protected View oraz zaufanymi lokalizacjami. Ale po kolei: Czytaj dalej »
2011-01-10
Kiedy na stronie ASP jest używana kontrolka SERVER, to po kliknięciu na niej wykonywana jest metoda __doPostBack(ControlID, Argument). Doprowadza to do wywołania po stronie serwera metody Load dla aktualnej strony, a potem obsługi zdarzenia (w tym przypadku kliknięcia) dla wybranej kontrolki.
Jeżeli po kliknięciu na przycisku ma się zadziać coś jeszcze (można np. uruchomić JavaScript), to przycisk może mieć dodatkowo zdefiniowany skrypt zdarzenia OnClick.
W moim przypadku wyglądało to tak (kod wygenerowaej strony wyświetlany przez przeglądarkę):
<input type=”submit”
name=”ctl00$MainContent$BtnNewBtnNo”
value=”No”
onclick=”document.getElementById('MainContent_BtnNewDialogResult').value = 'NO';
$find('BtnNewAspxPanelExtender').hide();
__doPostBack('ctl00$MainContent$BtnNew','');
return false;”
id=”MainContent_BtnNewBtnNo” />
O ile kod działał poprawnie na pojedynczej stronie ASP o tyle, gdy miał zadziałać na stronie ASP podpiętej pod stronę master, to zaczynały się problemy.
Ogólnie rzecz biorąc, postback się wykonywał, ale nie uruchamiała się instrukcja obsługi kliknięcia po stronie serwera. Mogło się wydawać, że umieszczenie strony w podstronie MasterPage powoduje że zdarzenie PostBack nie działa prawidłowo. Czytaj dalej »
2011-01-09
Tym razem problem jest następujący:
Projektant bazy danych przewidziałw tabeli kolumnę o znaczeniu symbolicznym np. przez literę R oznacza zmianę ranną, P – popołudniową, a N – nocną. Jendak w DataGrid nie chcemy wyświetlać oznaczeń literowych R/P/N, tylko pełne napisy Ranna/Popołudniowa/Nocna.
Pierwsze z proponowanych rozwiązań polega na utworzeniu odpowiedniego zapytania SQL, które pobierze z bazy danych nie tylko oznaczenia literowe, ale także skonstruuje opisy. Tak skonstruowane zapytanie zasili następnie DataSet, który przekaże dane do DataGrida. Przykładowe zapytanie może wyglądać następująco: Czytaj dalej »
2011-01-08
DataSet oprócz przechowywania informacji o strukturach tabel przechowuje także informacje o więzach integralności (kluczach obcych, podstawowych) i innych warunkach, jak np określona długość danych w poszczególnych kolumnach, wymuszanie by kolumna nie była nullem itp.
Kiedy jednak dodajesz nowy rekord do tabeli w Data Set, to ten rekord jest pusty i nie spełnia większości wymogów zdefiniowanych w Data Set, np poniższa instrukcja może zakończyć się błędem:
MyDataSet.MyTableRow dataRow = dataSet.MyTable.NewMyTableRow();
dataSet.MyTable.Rows.Add(dataRow);
W tym przypadku można wyłączyć wymuszanie integralności w Data Set używając poniższej instrukcji:
dataSet.EnforceConstraints = false;
Po wypełnieniu wiersza poprawnymi danymi wystarczy wykonać instrukcję
dataSet.EnforceConstraints = true;
Więcej na tentemat znajdziesz pod adresem http://msdn.microsoft.com/en-us/library/s3bxwk8b(v=vs.80).aspx
2011-01-07
W TSQL isnieje komenda
SAVE TRANSACTION <transaction_name>
Możesz użyć tego polecenia wewnątrz transakcji, aby zapisywać tzw. bezpieczny punkt transakcji. Jeżeli wewnątrz transakcji, która może przecież być dość złożona logicznie, w pewnym momencie zechcesz wycofać blok ostatnio wykonanych czynności (ale nie całą transakcę), wystarczy przed tymi czynnościami zapisać transakcję. Transakcje można zapisywać wielokrotnie podczas trwania transakcji, a potem powracać do określonych punktów. Czytaj dalej »
2011-01-07
Aktywacja produktów Microsoft w ramach klucza wielokrotnej aktywacji kończy się komunikatem

Skąd wynika ten komunikat i co z tym zrobić?
Czytaj dalej »