jasonx Napisano 12 Maja 2011 Udostępnij Napisano 12 Maja 2011 Mam pewien problem. Próbuje "zaczytac" do swojej aplikacji przy uzyciu Table Adaptera wartosci z bazy. Zapytanie Select wyglada nastepujaco: SELECT WykonanieUslugi.IDWykonanieUslugi, WykonanieUslugi.IDRachunek, WykonanieUslugi.IDPromocja, WykonanieUslugi.CenaSprzedazy, Usluga.Nazwa, (CASE WHEN (WykonanieUslugi.IDPromocja NOT LIKE 'NULL') THEN 'True' ELSE 'False' END) AS [W promocji], Promocja.Uwaga FROM WykonanieUslugi INNER JOIN Usluga ON WykonanieUslugi.IDUsluga = Usluga.IDUsluga INNER JOIN Promocja ON WykonanieUslugi.IDPromocja = Promocja.IDPromocja AND Usluga.IDUsluga = Promocja.IDUsluga WHERE (WykonanieUslugi.IDRachunek = @Par_IDRachunek) Wiem, ze w tabeli do IDRachunek = 7 przypisane jest 5 wierszy - 3 w promocji, 2 nie. Ale zapytanie zwraca mi tylko wiersze dotyczace wykonanych usług w promocji (czyli 3 pozycje) Zdaje sobie sprawe, ze szkopul tkwi w CASE WHEN (WykonanieUslugi.IDPromocja NOT LIKE 'NULL') THEN 'True' ELSE 'False' END) i w porownywaniu tego z NULLem Próbowalem tez wersji WykonanieUslugi.IDPromocja IS NOT NULL WykonanieUslugi.IDPromocja > 0 LEN(WykonanieUslugi.IDPromocja) > 0 kazda zwraca tylko 3 wiersze :/ Jakies sugestie? Z ANSI_NULL za bardzo bawic sie nie moge w table adpaterze (chyba, ze moge, a nie wiem jak) HILFE! EDIT - nieaktualne Poradziłem sobie poprzez zasstosowanie LEFT OUTER JOIN Cytuj Odnośnik do komentarza
jasonx Napisano 12 Maja 2011 Udostępnij Napisano 12 Maja 2011 To jeszcze dwa kolejne problemy 1. Musze zrobic terminarz rezerwacji usług dla salonu kosmetycznego. Ma to byc cos interaktywnego (np. a'la kalendarz gmaila). Klika sie w komorke, wybiera usluge, a program sam koloruje odpowiednia ilosc kratek w zaleznosci od dlugosci trwania uslugi. I teraz moje pytania w kwesti jak zaczac: - jakiego komponentu najlepiej uzyc? DataGridView? - jak zrobic, zeby nagłowkami wierszy były godziny? (powiedzmy co 15 minut) - jak zrobic, zeby naglowkami wierszy byly pomieszczenia? Tu bedzie troche ardziej skomplikowane (chyba), bo ilosc kolumn nie moze byc przypisana na sztywno - bedzie zalezna od ilosci pomieszczen, ktore sa zdefiniowane w bazie danych. I moze ew jakies inne wskazowki, jesli ktos robil cos podobnego i wiem, jak i z czym to sie je. 2. Jak wymusic na ComboBoxie, zeby na starcie nie wyswietlal zadnej wartosci? Bo troche zdurniałem. Mam spory projekt do zrobienia (juz czesc zrobilem) i niektore comboboxy inicjalizuja sie pustym elementem, inne nie (czasem na 1 formularzu), choc w zasadzie sposob ich dodawania byl identyczny i nie moge dojsc, z czego wynikaja te roznice. Nadmienić musze, ze wartosci kazdego Combo zbindowane sa z tabelami z bazy danych. Probowalem dodawac w metodzie Load dla formsa nowy pusty wiersz dla kazdego Combo, ale kompilator mi na to nie pozwala, ze wzgledu na integracje z baza. Z góry dzieki za sugestie. Aha, aplikacja jest budowana z Windows Forms w jezyku C#. Cytuj Odnośnik do komentarza
jasonx Napisano 19 Października 2011 Udostępnij Napisano 19 Października 2011 Dobra, nigdy tu jeszcze nie dostalem odpowiedzi, ale moze akurat teraz sie uda Napisalem sobie mini-skrypcik (plik bat), ktory instaluje mi baze danych z poziomu linii komend: sqlcmd -S .\SQL -i Baza.sql I ten skrypcik działa bez zarzutu. Ale problem jest troche inny - jak zrobic, zeby skrypt instalacji bazy sie nie wykonywal, jesli dana baza juz istnieje? Cytuj Odnośnik do komentarza
Gabe Napisano 19 Października 2011 Udostępnij Napisano 19 Października 2011 IF NOT EXISTS Baza.sql :> Cytuj Odnośnik do komentarza
jasonx Napisano 19 Października 2011 Udostępnij Napisano 19 Października 2011 Hyh, na to to i ja wpadłem. Tylko, jesli chce potem w blok if wrzucic caly skrypt tworzenia tabel + ograniczenia, troche danych i uzytkownicy, to mi wywala bledy skladni. Nie da sie tego sprawdzic z poziomu pliku .bat? Cytuj Odnośnik do komentarza
Fenomen Napisano 19 Października 2011 Udostępnij Napisano 19 Października 2011 wiesz co - wydaje mi sie, ze masz w takim razie cos namieszane w samym skrypcie, bo takie podejscie, o ktorym pisze Gabe jest typowe, wiec to powinno dzialac Cytuj Odnośnik do komentarza
jasonx Napisano 19 Października 2011 Udostępnij Napisano 19 Października 2011 Feno, to spróbuj :> Sprawdzenie i załozenie bazy dziala bez zarzutu. Ale potem co, mam sprawdzac po kolei kazda tabele i kazda procedure czy istnieje? Cytuj Odnośnik do komentarza
Misiek Napisano 19 Października 2011 Udostępnij Napisano 19 Października 2011 a nie trzeba trochę więcej dopisać: if not exists(select 1 from master.dbo.sysdatabases where name = 'nazwa_bazy') GO CREATE DATABASE nazwa_bazy GO itd. Cytuj Odnośnik do komentarza
jasonx Napisano 19 Października 2011 Udostępnij Napisano 19 Października 2011 i w ten sposób sprawdzam tylko istnienie bazy, a niezaleznie czy ona istnieje czy nie, tabele i tak sie tworza. A jak dam to w blok BEGIN ... END, to mi nie kompiluje. Cytuj Odnośnik do komentarza
jasonx Napisano 24 Października 2011 Udostępnij Napisano 24 Października 2011 Pisze sobie pewien programik desktopowy w C# + SQLServer, do ktoreo potrzebuje zrobic instalke. Używam INNO SETUP. Mam praktycznie zrobione wszystko oprócz jednejj podstawowej rzeczy. A mianowicie nie wiem jak zrobic, zeby instalator sprawdzał, czy na komputerze jest zainstalowana serwer baz danych o konkretnej nazwie np. SQLTest. Oczywiscie, jesli spraqwdzenie da wynik negatywny, instalator powinien sie przerwac zwracajac odpowiednia informacje Cytuj Odnośnik do komentarza
_adrian Napisano 1 Marca 2012 Udostępnij Napisano 1 Marca 2012 Nie wiem czy to odpowiedni temat ale zapytam. Potrzebuje książki do C#. Najlepiej taką dla początkujących. Cytuj Odnośnik do komentarza
klinsmann Napisano 1 Marca 2012 Udostępnij Napisano 1 Marca 2012 Symfonia Grębosza Cytuj Odnośnik do komentarza
krk924 Napisano 1 Marca 2012 Udostępnij Napisano 1 Marca 2012 Symfonia jest do C++. Ja na początek polecam przerobić kurs C# znajdujący się pod adresem http://www.centrumxp...ria,Kurs_C.aspx. Jeśli przerobisz go i będziesz miał ochotę dalej rozwijać się w tym języku to polecam książke Johna Sharpa "Microsoft Visual C# 2010 step by step" (z tego co widzę została już przetłumaczona na język polski). Kompendium wiedzy programisty .NET i C#. Cytuj Odnośnik do komentarza
jasonx Napisano 1 Marca 2012 Udostępnij Napisano 1 Marca 2012 Jeśli nauka od podstaw - tylko seria Head First http://helion.pl/ksiazki/head-first-c-edycja-polska-rusz-glowa-andrew-stellman-jennifer-greene,hfcsh.htm Cytuj Odnośnik do komentarza
FYM Napisano 1 Marca 2012 Udostępnij Napisano 1 Marca 2012 Head First to dobra opcja. Nie jest to tania seria, ale pozwala dość szybko przyswoić istotne rzeczy. Cytuj Odnośnik do komentarza
_adrian Napisano 2 Marca 2012 Udostępnij Napisano 2 Marca 2012 Wielkie dzięki za pomoc. Cytuj Odnośnik do komentarza
Fenomen Napisano 19 Marca 2012 Udostępnij Napisano 19 Marca 2012 programuje tu ktos w bashu? potrzebuje napisac skrypt, ktory przeleci wszystkie katalogi w katalogu biezacym i na kazdym pliku z tego katalogu wywola pewna funkcje, ktorej wynik zapisze w osobnym pliku wynikowym, ktore to pliki zostana umieszczone w osobnym folderze Cytuj Odnośnik do komentarza
Manort Napisano 1 Października 2013 Udostępnij Napisano 1 Października 2013 Odswiezam. Mam pytanko moze ktos pomoze.. Napisalem sobie skrypt ktory otwiera IE, loguje sie na pewna strone, szuka sposrod linkow na tej stronie wybranego z aktualna data w nazwie, po otwarciu szuka drugiego z stala nazwa, kopiuje zawartosc strony po otwarciu, zamyka IE i kopiuje do wybranego Arkusza w Excelu. Problem jest tylko w jednym miejscu. Udalo mi sie go zmusic do wyszukiwania daty w linkach na stronie, ale caly czas otwiera tego samego linka.. Bede wdzieczny za hinta Problem chyba jest w tych miejscach ktore pogrubilem. Chcialbym by szukal aktualna date, albo wczorajsza w formacie ktory ja mu okresle. Sub aaa()Dim x As Datex = Format(Date, "dd/mm/yyyy;@")Set ie = CreateObject("internetexplorer.application")ie.navigate2 "http://aaa"Do Until ie.ReadyState = 4DoEventsLoopie.Visible = True ' visible oNSet lform = ie.Document.forms(0)lform("email").Value = "aaa"lform("passwd").Value = "aaa"lform.submitDoDoEventsLoop While ie.ReadyState <> 4 Or ie.Busy = True 'waitSet LinkCollection = ie.Document.getelementsbytagname("A")For Each link In LinkCollectionIf Instr(link.InnerText, "x") Then 'szukaj nazwy konkretnego linka link.ClickExit ForEnd IfNextDoDoEventsLoop While ie.ReadyState <> 4 Or ie.Busy = True 'waitSet LinkCollection = ie.Document.getelementsbytagname("A")For Each link2 In LinkCollectionIf InStr(link2.InnerText, "Kosz") Thenlink2.ClickExit ForEnd IfNextDoDoEventsLoop While ie.ReadyState <> 4 Or ie.Busy = True 'waitie.ExecWB 17, 0 ' SelectAllie.ExecWB 12, 2 ' Copy selection'ie.QuitActiveWorkbook.Sheets("Arkusz1").Paste Range("A1")End Sub Cytuj Odnośnik do komentarza
T-m Napisano 2 Października 2014 Udostępnij Napisano 2 Października 2014 Dobra, to i ja zagaję. Chcę ogarnąć C++ na poziomie podstawowym i szukam jakiegoś sensownego kursu on-line - jeśli ktoś korzystał, to chętnie przyjmę linka (tylko nie wrzucajcie pierwszych dwóch z google, tylko takie, z których korzystaliście), albo książkę. A druga rzecz to Jira. Czy ktoś miał do czynienia? I ewentualnie ma do polecenia jakieś publikacje, kursy etc.? Cytuj Odnośnik do komentarza
barrti Napisano 2 Października 2014 Udostępnij Napisano 2 Października 2014 Ja C++ się uczyłem z cpp0x.pl, ale przeczytałem tylko same podstawy języka, a później próbowałem stworzyć jakiś program i jeśli coś mi nie wychodziło/czegoś nie wiedziałem to wtedy posiłkowałem się Internetem. Dobrą opcją, jak już poznasz podstawy języka, jest analiza gotowych programów i próbowanie zrozumienia co, jak i dlaczego się dzieje. Cytuj Odnośnik do komentarza
Rekomendowane odpowiedzi
Dołącz do dyskusji
Możesz dodać zawartość już teraz a zarejestrować się później. Jeśli posiadasz już konto, zaloguj się aby dodać zawartość za jego pomocą.