Poczatek z SQL'em

0

Nie znalazłem na forum odpowiedzi na moje pytanie, dlatego mam do Was gorącą prośbę! Jestem początkujący z SQL'em w C# i nie mogę utworzyć pliku z bazy danych. Jestem pewien, że jest to problem z 'zapytaniem' do SqlConnection, mianowicie, wysypuje mi się przy ustanawianiu połaczenia Connection.Open(). Szukałem po wszystkich forach, ale zapomniałem o tym forum :)

Dlatego, proszę Was, byście mi napisali kod, w którym utworzę plik bazy danych (jeżeli nie istanieje) i połaczę się z nią. Wczytam (jeżeli istnieje lub dodam nową) tabelę czy tabele do DataSeta lub DataTable, obojętnie. Może być liniowy kod, bez rozwalania na funkcje, sam sobie z tym poradzę... I zależy mi na bazie lokalnej (na dysku, gdyż nigdy jej na serwer nie będę wrzucał), stąd prośba o bazę typu MS Access (*.mdb - dobra wiem dowolny plik może się tak nazywać, ale żeby można było to przeglądać potem w Accesie, czy się nie da?).

I jeszcze mam pytanie do masterów z bazami danych - czy lepiej robić tak, że wszelkie połaczenia z bazą danych - czyli update, delete robić w osobnym wątku, czy liniowo (w sensie, użytkowniku poczekaj ja to zapiszę)? Jak jest w praktyce. No i jak jest lepiej - dla bezpieczeństwa w okienkach robić przy każdej modyfikacji refresh (np. w liście obrazującej dane, za każdą modyfikacją w bazie robić refresh listy), czy bazy są na tyle bezpieczne, że mogę sobie dowolnie usuwać itemy z okienek i nic się nie stanie i nie będzie przekłamania danych?

0
dexter_wrocek napisał(a)

Nie znalazłem na forum odpowiedzi na moje pytanie, dlatego mam do Was gorącą prośbę! Jestem początkujący z SQL'em w C# i nie mogę utworzyć pliku z bazy danych. Jestem pewien, że jest to problem z 'zapytaniem' do SqlConnection, mianowicie, wysypuje mi się przy ustanawianiu połaczenia Connection.Open(). Szukałem po wszystkich forach, ale zapomniałem o tym forum :)

Dla scislosci - bazy accessowe niewiele maja z "Bazami Danych" wspolnego i jesli tylko masz mozliwosc uzycia czegoz "z prawdziwego zdarzenia" to goraco polecam.
Co do pytania - uzywajac skladni SQLowej nie jestes w stanie utworzyc pliku mdb.

dexter_wrocek napisał(a)

Dlatego, proszę Was, byście mi napisali kod, w którym utworzę plik bazy danych (jeżeli nie istanieje) i połaczę się z nią. Wczytam (jeżeli istnieje lub dodam nową) tabelę czy tabele do DataSeta lub DataTable, obojętnie. Może być liniowy kod, bez rozwalania na funkcje, sam sobie z tym poradzę... I zależy mi na bazie lokalnej (na dysku, gdyż nigdy jej na serwer nie będę wrzucał), stąd prośba o bazę typu MS Access (*.mdb - dobra wiem dowolny plik może się tak nazywać, ale żeby można było to przeglądać potem w Accesie, czy się nie da?).

Nie ma rzeczy niemozliwych - zainteresuj sie tworem ktory nazywa sie ADOX. Dla ulatwienia:
http://support.microsoft.com/default.aspx?scid=kb%3Ben-us%3B317881

dexter_wrocek napisał(a)

I jeszcze mam pytanie do masterów z bazami danych - czy lepiej robić tak, że wszelkie połaczenia z bazą danych - czyli update, delete robić w osobnym wątku, czy liniowo (w sensie, użytkowniku poczekaj ja to zapiszę)? Jak jest w praktyce. No i jak jest lepiej - dla bezpieczeństwa w okienkach robić przy każdej modyfikacji refresh (np. w liście obrazującej dane, za każdą modyfikacją w bazie robić refresh listy), czy bazy są na tyle bezpieczne, że mogę sobie dowolnie usuwać itemy z okienek i nic się nie stanie i nie będzie przekłamania danych?

Tego kawalka nie rozumiem

0

Oki, jak mówisz, że MS Access nie ma nic wspolnego z bazami danych to zajmę się SQL serwerem. Co do utworzenia pliku przy pomocy poleceń sqlowych: uściślając chodzi mi dokładnie o konstruktor SqlConnection w nim jest coś takiego jak connection string (jakoś tak, nie mam visuala przy sobie to nie pamiętam), np. korzystając z Twojego linka: Provider=Microsoft.Jet.OLEDB.4.0;" + "Data Source=D:\AccessDB\NewMDB.mdb;" + "Jet OLEDB:Engine Type=5". W tym mam problem i wiem, że w tym miejscu robię błąd (jakiś, nie wiem). Nie moge utorzyć zwykłej bazy danych. Przy wywołaniu komendy Open() wywala bład. Co do tego fragmentu, którego nie rozumiesz to spoko, rozważyłem to sam. Ale możesz mi podac przykład kodu z np. SQL Windows Server (czy jakoś tak) lub ODBC, jakkolwiek, jak utworzyć plik bazy danych, na lokalnym dysku, utworzyć przykładową tabelę lub jeżeli plik istnieje to wczytac tą tabelę do np. DataSet. Tylko tyle. Z góry dzięki...

0

Mam problem z połączeniem się do bazy danych. Przy próbie połaczenia pkazuje mi błąd, że nie może sie połaczyć z SQL Serverem. Mam zainstalowany Microsoft SQL Server 2005. Czy problem polega na konfiguracji tegoż programu? Czy można połaczyć się z nieistniejącą bazą danych?

OpenFileDialog Dialog=new OpenFileDialog();
/*Konfiguracja Dialogu*/
if (Dialog.ShowDialog()==DialogResult.OK)
{
OleDbConnection BazaDanych = new OleDbConnection("Provider=Microsoft.JET.OLEDB.4.0;Data Source="+Dialog.FileName+";");
try
{
   BazaDanych.Open();
}
catch (Exception Ex)
{
   MessageBox.Show(Ex.Message, "Błąd otwierania bazy danych");
}
finally
{
   BazaDanych.Close();
}
}

Jak powinien wyglądać connectionString bym mógł się połczyć z bazą, bez względu na to czy baza istnieje, czy chcę ją utworzyć?

Ps. Do moderatora. Dzięki... Mam nadzieję, że tego nie wywalisz...

0

Wedlug mnie za bardzo kombinujesz. Czemu nie mozesz dzialac na raz stworzonej bazie i tabelach? Co w tym rozwiazaniu Ci nie pasuje? Zazwyczaj tak sie to wlasnie robi - napisz, czemu akurat tak chcesz, moze jest inne rozwiazanie.

pozdrawiam
johny

0

Dobra nie będę kombinował. Utorzyłem bazę danych w MS Access i z niej sobie korzystam, jak chcę nową to kopiuję ją sobie w programie i tyle. Chciałem samemu utorzyć pustą bazę danych, ale nie idze mi, więc muszę kombinować :P

1 użytkowników online, w tym zalogowanych: 0, gości: 1