Visual C# — polecenia ad hoc w bazach danych

Visual C# — polecenia ad hoc w bazach danych
Razem głosów: 6 co stanowi: 96.67% całości.

adostart

Ten mały poradnik powstał gwoli uzupełnienia informacji zawartych w  ramach poradników mojego prześwietnego kolegi Developer85, który to na swoim blogu świetnie opisał prace z bazą SQL Compact.

Całość znajdziemy tutaj:

Baza danych część 1
Baza danych część 2
Baza danych część 3

Ten zaś krótki text będzie traktował o o poleceniach AD HOC w bazach danych SQL takich jak:

  • CREATE TABLE
  • INSERT INTO
  • DROP TABLE

oraz innych, które są dostępne za pośrednictwem ADO.NET w C#. Na początek musimy sobie zdać sprawę z faktu iż wspomniany ADO.NET nie oferuje zbyt wielu obiektów pozwalających na manipulację strukturą danych w bazie. Jednak szczęśliwym trafem wiele można osiągnąć wykonując proste instrukcje SQL.  W przykładzie naszym głównym oparciem będzie  OLE DB wykorzystany do połączenia i uzyskaniu dostępu do bazy danych. Od razu jednak wspomnę, że prezentowana technika nie jest w stanie utworzyć danych, ale na szczęście możemy użyć dowolnej bazy danych, a następnie zmodyfikować ją za pomocą tej techniki.

Zatem do dzieła. Nie będę tu już opisywał  budowania programu. Jedyne wymaganie w naszym przypadku to zainstalowanie SQL Server lub SQL Server Express. W opisie skupię się jedynie na najważniejszych aspektach działania naszej techniki.

Gdy zbudujemy nasz program do pracy z bazą danych  i go uruchomimy  poniższy kod wykona przygotowanie obiektu do połączenia z bazą choć co was może zdziwić faktycznie go nie otworzy:

Teraz warto było by skorzystać z  combo boxa w celu wybrania polecenia lub bezpośrednio wpisać je do pola tekstowego. My użyjemy combo boxa:

Podgląd składni polecenia wyświetlimy w polu tekstowym, a po kliknięciu na przycisk start zobaczymy wynik działania. Właśnie to wykonuje poniższy kod:

Całość prezentuje się dla przykładu następująco:

Przechwytywanie

Teraz małe omówienie.

Jak widzicie kod tworzy obiekt OleDbCommand w którym ustawia właściwości połączenia. Dzięki czemu wie na jakiej bazie będzie wykonywał operacje oraz ustawia właściwości polecenia, które ma wykonać po jego wybraniu lub wpisaniu. Po czym gdy damy mu rozkaz wykonania :

  • otwiera połączenie
  • wykonuje polecenie
  • zamyka połączenie

I to by było wszystko w tym temacie ale ….

Zawsze jest jakieś ale i choć jak widzicie cała sztuczka jest bardzo prosta  musimy pamiętać o tym, że w użytkownik naszego programu nie powinien mieć możliwości wykonywania żadnych poleceń doraźnych na bazie danych. Dlaczego ??

Dlatego, że niewłaściwe ich używanie może zniszczyć dane, uszkodzić strukturę bazy, i ogólnie siać spustoszenie. Dlaczego więc to opisałem ??  Tak naprawdę chodziło mi o pokazanie wam w jaki sposób można programowi pozwolić na używanie poleceń AD HOC. Co nam twórcom  może się przydać.

Wielu zniszczonych baz  podczas eksperymentów ….

Podziel się na:
  • Print
  • Digg
  • Sphinn
  • del.icio.us
  • Facebook
  • Mixx
  • Google Bookmarks
  • Blogplay