konto usunięte

Temat: C++ i SQL serwer

Adam Michalski:
Jeśli to wewnętrzny tool to zrób jeden duży wyjątek na Main() i wypisuj na konsolę (albo do jakiegoś pliku) Message z wyjątku i Inner Exceptions (rekurencyjnie) - tutaj masz kawałek koda:
Nie bardzo rozumiem. Mówiąc wyjątek miałem na myśli co ma zrobić program jak napotka na jakiś błąd (brak połączenia itp).

Poniżej zamieszczam kod który zlepiłem. Jakieś sugestie od doświadczonego programisty?

http://wklej.org/hash/662ef3ab7c2/

konto usunięte

Temat: C++ i SQL serwer

Gdy program napotka błąd, to któraś z funkcji do obsługi bazy/strumieni sypnie wyjątkiem. Poczytaj o C# Exception, try-catch-finally.
A druga rzecz, która mi się rzuciła w oczy, to string.Format. Znaku separatora "#" możesz używać wielokrotnie tego samego, np. {0}{1}{2}{1}{3}{1}, itd.
Inna sprawa, że można go swobodnie wstawić w string formatujący. I jeszcze inna, że WriteLine obsługuje wewnętrznie formatowanie, składnia taka sama, jak string.Format

konto usunięte

Temat: C++ i SQL serwer

Oprócz tego lepiej nie otwierać strumieni explicite, tylko użyć konstrukcji using. Poczytaj np. tu:

http://dotnetperls.com/streamwriter

Konstrukcja ta m. in. pozwala na zamknięcie pliku również w przypadku powstania wyjątku w trakcie pracy. A tak musisz sam o to zadbać.

konto usunięte

Temat: C++ i SQL serwer

Piotr Dudzic:
Gdy program napotka błąd, to któraś z funkcji do obsługi bazy/strumieni sypnie wyjątkiem. Poczytaj o C# Exception, try-catch-finally.
A druga rzecz, która mi się rzuciła w oczy, to string.Format. Znaku separatora "#" możesz używać wielokrotnie tego samego, np. {0}{1}{2}{1}{3}{1}, itd.
Inna sprawa, że można go swobodnie wstawić w string formatujący. I jeszcze inna, że WriteLine obsługuje wewnętrznie formatowanie, składnia taka sama, jak string.Format

Poprawione. Faktycznie prościej i mniej kodu :-)
try-catch-finally już czytałem i zrobiłem jeden duży wyjątek.

konto usunięte

Temat: C++ i SQL serwer

Adam Michalski:
Oprócz tego lepiej nie otwierać strumieni explicite, tylko użyć konstrukcji using. Poczytaj np. tu:

http://dotnetperls.com/streamwriter

Konstrukcja ta m. in. pozwala na zamknięcie pliku również w przypadku powstania wyjątku w trakcie pracy. A tak musisz sam o to zadbać.

Tego już w ogóle nie rozumiem. Można wolniej Panie Adamie? :-)

Już doczytałem. Sorki za zamieszanie.Jarosław Majcher edytował(a) ten post dnia 28.10.10 o godzinie 14:59

konto usunięte

Temat: C++ i SQL serwer

Konstrukcja using opakowuje jakby try/catch. Ogólnie warto jej używać, bo dzięki niej mniej błędów się popełnia. Jest oczywiście cała masa różnych obiektowych technik, ale do takich prostych programów nie ma co ich zaprzęgać. Warto też może zasubskrybować tę grupę:

http://www.goldenline.pl/grupa/programisci-net

:)

konto usunięte

Temat: C++ i SQL serwer

Adam Michalski:
Warto też może zasubskrybować tę grupę:

http://www.goldenline.pl/grupa/programisci-net

:)

Chętnie :-)

konto usunięte

Temat: C++ i SQL serwer

Jak najlepiej zaokrąglić wartość obiect w postaci 13,000 do jedności?
Potrzebuję też inną wartość zaokrąglić do 2 miejsc po przecinku. A właściwie uciąć 2 ostatnie zera.

konto usunięte

Temat: C++ i SQL serwer

Jak najlepiej zaokrąglić wartość obiect w postaci 13,000 do jedności?
Potrzebuję też inną wartość zaokrąglić do 2 miejsc po przecinku. A właściwie uciąć 2 ostatnie zera.
Przejrzyj
http://john-sheehan.com/blog/wp-content/uploads/msnet-...

konto usunięte

Temat: C++ i SQL serwer

Wartość jest typu object. Jak konwertuję do integer za pomocą Convert.ToInt32() to dostaję tylko jedności. Problem chyba tkwi w tym, że wartość jest w postaci np 14,2300 - czyli zawiera przecinek zamiast kropki.

Nie bardzo również wiem jak zastosować tabelki w praktyce.

konto usunięte

Temat: C++ i SQL serwer

Jak poczekasz do wieczora to Ci napiszę. Przecinek możesz na kropkę zamienić:

string zKropka = bezKropki.Replace(",", ".");

konto usunięte

Temat: C++ i SQL serwer

już to zrobiłem, ale...
string bezKropki = dataReader["kolumna"].ToString().Replace(",", ".");

Co z tym dalej zrobić? Jak zaokrąglić do 2 miejsc? Próbowałem również zamienić string do int za pomocą Convert.ToInt32 ale jak to robię wywala mi się pętla. A pętla wygląda tak:
http://wklej.org/hash/cbe2ac9245c/

Poczekam do wieczora. Nie ma problemu :-)Jarosław Majcher edytował(a) ten post dnia 28.10.10 o godzinie 19:43

konto usunięte

Temat: C++ i SQL serwer

Na odwrót to powinno być przede wszystkim. Najpierw using, a w nim pętla.

konto usunięte

Temat: C++ i SQL serwer

Fakt. A co z tym zaokrągleniem? w sumie to wystarczyło by odciąć od stringa ostatnie 2 lub 5 znaków.

konto usunięte

Temat: C++ i SQL serwer

Jak definiujesz zaokrąglanie? Jako obcięcie części całkowitej?

Tutaj o funkcjach zaokrąglających:

http://www.dotnetspider.com/resources/4599-Rounding-nu...

konto usunięte

Temat: C++ i SQL serwer

Póki co nie definiuje. Mam problem ze zmianą objectu na integer.

Jak zamieniem object w int to w wartości dostaję jedynie cyfrę przed przecinkiem. Tzn jeśli mam 14,6000 to otrzymuję 14.

Próbowałem również zamienić object w string, w stringu zamienić przecinek na kropkę. Całego zamienionego stringa chce zamienić na int za pomocą Convert.ToInt32 - tutaj dostaję wyjątek: System.Format.Exceprion: Nieprawidłowy format ciągu wejściowego.

Jakieś pomysły?

konto usunięte

Temat: C++ i SQL serwer

Int to typ całkowitoliczbowy, więc nie dostaniesz nic po przecinku. Spróbuj Convert.ToDouble.

konto usunięte

Temat: C++ i SQL serwer

ale wtopa :-/ Faktycznie nie pomyślałem o tym. Jakieś zaćmienie.
Z resztę już poradziłem sobie. Zamieniłem double na stringa i za pomocą tabelek przesłanych przez Piotra mogę dowolnie formatować wynik końcowy.

Dzięki Panowie !

Jutro postaram się zacząć lepić klasę do ftp więc jak będę miał problemy to również pozwolę sobie poprosić o pomoc :-)

Jeszcze raz dziękuję za pomoc i cierpliwość.

konto usunięte

Temat: C++ i SQL serwer

Z FTP na podstawie przykładu poszło całkiem gładko.

Istnieje jakiś przepis aby zatrzymać konsole powiedzmy na 5 sekund po zakończeniu programu? Tzn konsola powinna zniknąć dopiero po 5 sekundach.

konto usunięte

Temat: C++ i SQL serwer

System.Threading.Thread.Sleep(5000);

Następna dyskusja:

Rozszerzenie/klasa SQL dla C++




Wyślij zaproszenie do