Co się kryje pod metodą NewRow() w DataTable?

0

Chcę utworzyć strukturę podobną do DataTable ale dużo prostszą.

Potrzebuję by móc zdefiniować kolumnę (nazwa kolumny, typ kolumny). Następnie zdefiniować tablę (nazwa tabeli, kolekcja kolumn). I ostania rzecz, której potrzebuję to dodawanie nowych wierszy. O ile dwa pierwsze kroki są proste, to na ostatni nie mam pomysłu.

I proszę nie piszcie żeby zajrzał do kodu .NET, bo grzebanie kilka godzin to nie jest żadna przyjemność, poza tym być może istnieje prostszy i szybszy sposób aby to zrobić.

0

no ale co Ci mamy odpowiedzieć? Nikt nie zna kodu, który napisałeś...

0

Kodu jeszcze nie napisałem ale jeśli chcesz mogę później napisać.

A może znasz odpowiedź na moje pytanie "Co się kryje pod metodą NewRow() w DataTable?" W standardowym DataTable pod standardowa metodą NewRow(). Chodzi mi głównie o koncepcję, zastosowane wzorce projektowe itp.

0
adam_qwe napisał(a):

Kodu jeszcze nie napisałem ale jeśli chcesz mogę później napisać.

A może znasz odpowiedź na moje pytanie "Co się kryje pod metodą NewRow() w DataTable?" W standardowym DataTable pod standardowa metodą NewRow(). Chodzi mi głównie o koncepcję, zastosowane wzorce projektowe itp.

new DataRow(); //...??

Poco ci to ?

0

Nie rozumiem podejścia.
Jeśli chcesz mieć to, co jest we frameworku, to zobacz kod frameworka i go dostosuj.
Jeśli chcesz mieć coś innego, to napisz swój kod.

DataTable w .NET to spory kombajn, NewRow powoduje utworzenie obiektu, utworzenie jego komórek na podstawie kolumn z DataTable, do tego pobierany jest numer nowego rekordu z RecordManager, na koniec pewnie rzucane jakieś eventy. Ogólnie prościej samemu zajrzeć niż czekać na gotowca na forum.

0

Poco ci to ?
Nie rozumiem podejścia.

Tego chciałem uniknąć, mniej spiny a więcej luzu. Moje pytanie jest hobbistyczne i nie chcę aby ktoś czuł że jego misją jest żeby odpowiedzieć mi za wszelką cenę. Jeśli uważacie że moje pytanie jest głupie lub bez sensu możecie mi to śmiało napisać. Jeżeli jest taka cena zdobycia nowej wiedzy, to mówi się trudno trzeba żyć jakoś dalej.

Wracając do meritum, mam dużą ilość wierszy w tabeli (co najmniej kilka milionów, przy czym jest taka możliwość że będzie o kilka rzędów więcej) i chciałbym szybko wykonywać na takiej tabeli operacje. Jak kolega zauważył DataTable to spory kombajn i według mnie dość wolny. Nie potrzebuję bajerów typu numer kolejnego wiersza lub eventy odpalane po każdej operacji na wierszu. Chcę prostej i szybkiej struktury. Moje pytanie dotyczy tego co kryje się pod

utworzenie jego komórek na podstawie kolumn z DataTable

Jakiego typu są te komórki? object ?
Jeśli tak, to czy za każdym razem, kiedy wyciągam pole z wiersza, to te pole jest rzutowane na potrzebny dla mnie typ?

1

O ile dobrze pamiętam, to komórki w DataRow są typu object i nic nie jest rzutowane.

Co konkretnie chcesz zrobić? Bo kilka milionów rekordów szybciej raczej będzie przetwarzać na poziomie bazy danych.

0

Faktycznie są typu object . To zmienia postać rzeczy.
Chciałem, na podstawie kilku wartości z wiersza, wykonując kilka nieskomplikowanych obliczeń, wygenerować następną wartość i zapisać ją w tej samej tabeli w innej kolumnie.
Dane raczej będę odczytywał i zapisywał w plikach tekstowych. Chyba tworzenie takiej struktury to ślepa uliczka i będę musiał przemyśleć od nowa cała koncepcję.
Dziękuję wszystkim za odpowiedzi.

0

Chyba jednak w bazie bedzie wydajniej jak @somekind pisal. Kilka milionow i kilka rzędów więcej to w plikach tekstowych jakoś nie bardzo to widzę. Samo rzutowanie tekstu na liczbę trochę zajmie.

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