![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 12 Pomógł: 0 Dołączył: 31.03.2009 Ostrzeżenie: (0%) ![]() ![]() |
Witam!
Proszę o pomoc. Próbowałem juz kilkoma sposobami i cały czas mi nie wychodzi. A mianowicie mam taką procedurę:
Probując zmodyfikować jakiś rekord np:
otrzymuję komunikat: Msg 8114, Level 16, State 1, Procedure AktualizujTowar, Line 0 Error converting data type numeric to decimal. Nie wiem jak sobie z tym poradzić. Fukncja CONVERT() nie pomaga. Z góry dzieki. |
|
|
![]() ![]()
Post
#2
|
|
![]() Administrator serwera Grupa: Developerzy Postów: 521 Pomógł: 13 Dołączył: 2.04.2004 Skąd: 52°24' N 16°56' E Ostrzeżenie: (0%) ![]() ![]() |
Odpowiedź znajdziesz tutaj. Zerknij na tabelę konwersji i wykorzystaj poradę pod tabelą
![]() -------------------- Środowisko: Gentoo 2008.0 | Apache | PHP5 | PostgreSQL | MySQL | Postfix
Workstation: Gentoo 2008.0 | Firefox Thomas Alva Edison: "Aby coś wynaleźć wystarczy odrobina wyobraźni i sterta złomu ..." Odpowiedź na każde pytanie typu "Jak ...": "Nie da się, to nie PostgreSQL" |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 12 Pomógł: 0 Dołączył: 31.03.2009 Ostrzeżenie: (0%) ![]() ![]() |
To już wcześniej widziałem i albo cos do końca nie rozumiem albo już sam nie wiem.
Zmieniłem Procedurę na taką:
i jak daję takie wywołanie:
to jest dobrze. Natomiast, gdy zamienię na to:
to pojawia sie komunikat:
co jest nie tak? Ten post edytował neon85 1.04.2009, 07:39:20 |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 171 Pomógł: 18 Dołączył: 13.03.2009 Skąd: lublin Ostrzeżenie: (0%) ![]() ![]() |
To już wcześniej widziałem i albo cos do końca nie rozumiem albo już sam nie wiem. Zmieniłem Procedurę na taką:
i jak daję takie wywołanie:
to jest dobrze. Natomiast, gdy zamienię na to:
to pojawia sie komunikat:
co jest nie tak? jaki typ danych masz w tabeli Towary dla pola Waga? jest coś takiego jak convert(float,@liczba) |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 12 Pomógł: 0 Dołączył: 31.03.2009 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 171 Pomógł: 18 Dołączył: 13.03.2009 Skąd: lublin Ostrzeżenie: (0%) ![]() ![]() |
Mam tak jak w pierwszym poście w deklaracjach czyli decimal(3,3). convert nie pomaga:/ pomoże za to zmiana typu z decimal (3,3) an decimal(4,3) lub decimal(3,2) nie wiem dlaczego ale jak tak zmienisz to ma ochotę działać przykład: select convert(decimal(4,3),cast(3.303 as float)) |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 12 Pomógł: 0 Dołączył: 31.03.2009 Ostrzeżenie: (0%) ![]() ![]() |
pomoże za to zmiana typu z decimal (3,3) an decimal(4,3) lub decimal(3,2) nie wiem dlaczego ale jak tak zmienisz to ma ochotę działać przykład: select convert(decimal(4,3),cast(3.303 as float)) Na to wygląda, że pierwsza wartość określa całkowitą długość liczby, a druga tylko jej część dziesiętną, a ja cały czas myślałem, że pierwsza ilość znaków przed przecinkiem a druga za nim. W każdym bądź razie wielkie dzięki, gdyż DZIAŁA:) Pozdrawiam |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 3.05.2025 - 04:45 |