DataGridView + SQL

0

Witam wszystkich. Potrzebuję zrobić program w C#, który będzie sprawdzał dwie tabele ze sobą i gdy jedna z nich się zmieni program będzie updateował/dodawał odpowiednie jednej z tabeli (Wszystko będzie jednostronnie tzn. tylko jedna tabela będzie się zmieniała ). Pytanie jak to zrobić? Mam pomysł z DataGridView : dane z jednej tabeli "zassać" np. do datagridview1, a do datagridview2 drugą. W datagridview3 byłyby różnice ( czyli dane do update/insertu ). Nie wiem jak zabrać się za porównanie tabel i "wrzucenie" ich do datagridview3. Utknąłem na tym, że pobrałem dane z tabel do dgv1 i dgv2. Następne pytanie zrobiłem Form1 i dodałem klasę do projektu. Jest możliwość aby w klasie były widoczne funkcje z Form1 ( chodzi mi o DataGridView ). Z góry dziękuję za pomoc :).

0

Brak chęci do pomocy? :(

1

Witam,

A po co chcesz do tego używać DataGridView? Wystarczy dobrze przygotować dane, dodajesz kolumny z datą ostatniej modyfikacji w jednej i drugiej tabeli i synchronizujesz. Na upartego można zrobić to na poziomie bazy danych albo jakiegoś skryptu.

Pozdrawiam,

mr-owl

0

Dzięki za odpowiedź, niestety porównywanie na poziomie bazy danych odpada, choć wiem, że byłoby to jedno z lepszych/łatwiejszych rozwiązań ( przynajmniej jak dla mnie ).

0

Witam,

Może podaj przykład struktury bazy danych którą chcesz porównać

Pozdrawiam,

mr-owl

0

Podam przykład tabeli na której przeprowadzam testy :

CREATE TABLE [dbo].[uzytkownik](
[id] [int] IDENTITY(1,1) NOT NULL,
[imie] varchar NOT NULL,
[nazwisko] varchar NOT NULL,
[plec] varchar NOT NULL,
[wiek] [int] NOT NULL,
[kraj] varchar NOT NULL,
[data_ur] [date] NOT NULL,
[stanowsiko] varchar NULL

Ale wydaje mi się, że struktura jest tutaj mało istotna.

0

To jak chcesz dane synchronizować jeśli nie zwracając uwagi na strukturę? Poza tym podaj kształt obu tabel jak i jakieś szczegóły na temat lokalizacji danych.

Pozdrawiam,

mr-owl

P.S. Te VarChar (zamiast NVarChar) to tak celowo czy przez przypadek?

0

Tabele są zbudowane tak samo, wiem że do int nie mogę wrzucić varchara wiadomo. Tak w roli wyjaśnienia jedna tabela będzie kopią drugiej tabeli, ale tylko jedna tabelę będzie użytkownik zmieniał sam. Do tego chce zrobić program który będzie weryfikował czy coś się w tej tabeli użytkownika zmieniło i wrzucać ją do drugiej tabeli. Tak jak wspomniałem wcześniej wszelakie zapytania z poziomu np sql manangment studio odpadają, WSZYSTKO ma się robić za pomocą C# -> LINQ.

1

Witam,

Czy będzie więcej niż jeden użytkownik? Bo jeśli tak to już na dzień dobry może być rozjazd w id

Pozdrawiam,

mr-owl

0
Szalony napisał(a):

Tabele są zbudowane tak samo, wiem że do int nie mogę wrzucić varchara wiadomo. Tak w roli wyjaśnienia jedna tabela będzie kopią drugiej tabeli, ale tylko jedna tabelę będzie użytkownik zmieniał sam. Do tego chce zrobić program który będzie weryfikował czy coś się w tej tabeli użytkownika zmieniło i wrzucać ją do drugiej tabeli. Tak jak wspomniałem wcześniej wszelakie zapytania z poziomu np sql manangment studio odpadają, WSZYSTKO ma się robić za pomocą C# -> LINQ.

  1. Po co do tego program z GUI?
  2. Nie potrzebujesz SQL Management Studio do uruchamiania zapytań SQL, równie dobrze może to robić Twój program.
  3. LINQ nie ma nic wspólnego z bazami danych.

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