Zapytania do bazy danych

0

Witam, mam taki problem, że chciałbym aby zapodawać selecta do bazy co np. 1 sekundę. chciałbym wykorzystać to do komunikacji. Wyniki chciałbym wyswietlać w listview. Zależy mi na tym aby odpytywac bazę naokrągło.

0

Masz problem z jakimś konkretnym fragmentem kodu?
Potrzebujesz timer i kod wykonujący zapytanie.

PS. Zapisywanie bazy i sprawdzanie z innego miejsca czy coś się dodało, nie jest najlepszym rozwiązaniem problemu.

0

Chciałbym w listview wyświetlać zawartość bazy danych a dodawać ze zwykłego textboxa. Najważniejszy jest dla mnie select z bazy który wyświetli dane w listview. Chciałbym na podstawie tego stworzyc mini czat.. Czy to jest dobre rozwiązanie ? chciałbym to oprzeć na samej bazie danych.

0

to nie jest dobre rozwiązanie - jeśli piszesz coś na kształt komunikatora to tutaj baza powinna być jedynie jako archiwum oraz miejsce gdzie są zapisywane wiadomości dla userów, którzy są aktualnie offline. Cała "normalna" komunikacja powinna się opierać o gniazda (lub coś co umożliwia dwukierunkową komunikację czy nawet WCF)

0

Ok rozumiem, ale jak się uprzeć na tą baze danych. To jak zapodać selecta do bazy aby cały czas ją odpytywał ? Wiem oczywiście, że można użyć innycj komponentów.

0

Już pomijając że to nie jest dobre rozwiązanie, to ja bym widział 2 opcje: tak zwane taski/joby/workery na serwerze gdzie jest ta aplikacja (ale tego nie umiem zrobić). Albo zwykła pętla While która będzie nieskończona i iterować nią np. co 2 sekundy.

0

Jeśli chcesz koniecznie wykorzystać bazę to w taki sposób: Klient wysyła wiadomość do serwera, serwer zapisuje wiadomość w bazie i rozsyła pozostałym klientom. Kiedy łączy się nowy klient to serwer wysyła tylko jemu z bazy wcześniejsze wiadomości i później normalnie.
Taki pomysł z odpytywaniem bazy co sekundę jest bez sensu.

@up A to taki job może przesłać sobie jakieś dane do klienta jeśli on o to wcześniej nie prosił?

0

@henio11123 Może opowiedz po prostu co chcesz zrobić (efekt końcowy? chat? desktop/web?). A my Ci powiemy jakie rozwiązanie jest bliżej dobrych praktyk niż cykliczne pytanie bazy.

0

Wybieram, użytkownika z GridView i chce wysłać mu wiadomość. Taki mini komunikator webowy.

0

jeśli ma to być baza bo tak i koniec (co jest złym rozwiązaniem) to wysyłanie wiadomości to insert do tabeli z wiadomościami a "nasłuchiwanie" czy nie ma wiadomości to cykliczne odpytywanie bazy czy coś się w tabeli pojawiło nowego.

Do zrealizowania tego potrzebujesz podstawowej wiedzy o SQLu - google i kurs podstawowy na poziomie CREATE TABLE, SELECT INSERT UPDATE oraz podstawowej wiedzy jak się połączyć i obchodzić z bazą danych spod C# - tu w zależności jak chcesz to robić odpowiednie zapytanie do googla. Jak odczytać kliknięty wiersz w GridView też w googlu jest

0
henio11123 napisał(a):

Wybieram, użytkownika z GridView i chce wysłać mu wiadomość. Taki mini komunikator webowy.

I komunikację chcesz robić za pośrednictwem bazy? Nie no bez jaj. Przy większej liczbie użytkowników zajedziesz bazę, aplikacja zacznie zwalniać i będziesz robił jakieś dzikie optymalizacje, żeby to jednak jakoś działało, zamiast wyeliminować na dzień dobry źródło problemu.
Jak już ci koledzy wcześniej pisali, serwer powinien na bieżąco powiadamiać o wiadomościach, a baza powinna służyć do przechowywania wiadomości nieodebranych i/lub jako archiwum.
W czym to piszesz? ASP.NET Web Forms?

0

OK jeśli mam to zrobić z uzyciem serwera żeby to dobrze chodziło i bazy danych do archiwum to co radzicie ? Chciałbym to wykonać w asp.net pod VB. Użytkownika chciałbym wybierać z gridView i móc wysłać mu wiadomość.

0

znaczy ma to być komunikator przez stronę???
Bo jeśli mówisz o "normalnym" komunikatorze jak np. gg to jeśli ma to być .NET to ja bym proponował komunikację oprzeć o WCF a aplikację w WinForms lub WPF - w zależności co umiesz/czego się chcesz nauczyć.

0

chciałbym zrobić to w oparciu o stronę (asp.net vb)

0

fajnie, tylko jak sobie wyobrażasz że to będzie działało? Pytam serio bo jak dla mnie komunikator przez www to nieporozumienie.

Serio napisz jak chcesz aby to działało to może ktoś Ci coś podpowie bo na chwilę obecną nie wiem czy ktoś jest Ci w stanie podsunąć jakieś rozwiązania nie wiedząc jak to ma działać

0

Większy sens by to miało jakbyś robił coś na zasadzie Javascript<---WebSocket ---> Server <--- WebSocket ---> Javascript. Jest coś takiego jak SignalR, które upraszcza taką komunikację (działa też na przeglądarkach nie obsługujących HTML5). Pisząc GUI w JS przyda się na pewno Angular lub o wiele lżejszy Backbone (i ewentualnie Backbone.Marionette + Handlebars).
Jeżeli chcesz tylko w ASP.NET trzeba trochę pokombinować, ale SignalR dostarcza chyba wszystko czego potrzebujesz.

PS. Jeżeli zaczynasz programowanie to zostaw VB i wejdź w C#. Łatwiej się w nim pisze w .NET

0

Dzięki Sarrus z konkretną wypowiedź.

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