Novo

Forum kao aplikacija na telefonu

Dodajte forum na početni ekran i koristite ga kao aplikaciju, sa menijem na dnu ekrana.

  • 7 odgovora
  • 3.682 pregleda

Najnovija ↓

Cudan problem sa konvezijom tipa podataka 14.05.2007. u 20:32 · pre 237 meseci #1
kod ide ovako

Code:
create table ~T~KEPU~T~
( datum datetime,
  datumrac datetime,
  zaduz decimal(12, 2),
  razduz decimal(12, 2),
  kljuc varchar(255),
  opis varchar(255),
  uplata decimal(12, 2))

insert into ~T~KEPU~T~(datum,datumrac,zaduz,razduz,kljuc,opis,uplata)

select datum,datum, (-1 * popust) as zaduz, (vrednost - popust) as razduz, kljuc, kljuc+ ' Veleprodaja - Virmanski ', 0 as uplata
from promet
where kljuc like '__310%'
and datum <= #datumz#


gde ~T~KEPU~T~ kreira temp tabelu (#KEPU_IME_RACUNARA_VREME) a #datumz# je promeljiva tu datetime formatu koju query dobija kako treba

Prilikom izvsravanja javi gresku:

The conversion of the varchar value '07310000001' overflowed an int column. Maximum integer value exceeded.

07310000001 je vrednost kljuca iz tabele promet u kojoj je on tip char(11), i samo ta vrednost pravi problem posto ako je izbacim iz select naredbe query funkcionise.
Kapiram da mi on kaze da ne moza da konvertuje vrednost kljuca u int, ali moja kolina kljuc u ~T~KEPU~T~ je varchar.
Najgore je to sto je query radio pod sql serverom 2000 a sada kad sam stavio 2005 ne radi.
Imate li ideju u cemu je problem ?
Re: Cudan problem sa konvezijom tipa podataka 15.05.2007. u 08:18 · pre 236 meseci #3
Ako ti se neda traziti gresku promeni tip podatka iz int u bigint ili numeric,trebalo bi onda proci.
Potpis
logic_rabbit (MCAD,MCSD,MCT,MCTS-
Windows development,MCPD)
Re: Cudan problem sa konvezijom tipa podataka 15.05.2007. u 17:55 · pre 236 meseci #4
Mislim da te koci ovaj deo

kljuc+ ' Veleprodaja - Virmanski '

Pokusaj

CAST(kljuc AS varchar) + ' Veleprodaja - Virmanski '


kad si kazao kljuc+ ' Veleprodaja - Virmanski ' onda SQL server vidi kljuc+ i posto ima pred sobom podatka koji lici na numericki i znak sabiranja, on misli da hoces da saberes kvazi-numericki kljuc s necim, pa konvertuje kljuc u INT i tu pukne. Uvek koristi CAST kad imas izmesane tipove.

Drugo resenje, ako vec imas kljuc u jednoj tabeli kao char(11), trebalo bi da zadrzis isti tip i u drugoj tabeli:
kljuc iz tabele promet u kojoj je on tip char(11) pretvaras u varchar(255), ne valja, stavi da bude char(11) na oba mesta i ne bi trebalo da ima sproblem. Ako ne mozes da uskladjujes tipove istog polja u raznim tabelama, moras da koristis CAST.
Re: Cudan problem sa konvezijom tipa podataka 15.05.2007. u 19:51 · pre 236 meseci #5
ma ne vredi...

sve sam to probao i ne sljaka...

samo kada stavim npr:
select datum,datum, (-1 * popust) as zaduz, (vrednost - popust) as razduz, '123', kljuc + ' Veleprodaja - Virmanski ', 0 as uplata

dakle vrednost 123 za kljuc onda query prodje, bez obzira sto na kljuc + ' Veleprodaja - Virmanski ' nisam primenio cast

inace probao sam i sve kombinacije sa bigint,numeric i nece.

Bas mi nije jasno u cemu je problem

Ne znam dali ima veze, ali query se dalje sastoji iz jos 5-6 slicnih uniona otprilike ovako :
Code:
insert into ~T~KEPU~T~(datum,datumrac,zaduz,razduz,kljuc,opis,uplata)

select datum,datum, (-1 * popust) as zaduz, (vrednost - popust) as razduz, kljuc, kljuc+ ' Veleprodaja - Virmanski ', 0 as uplata
from promet
where kljuc like '__310%'
and datum <= #datumz#
union
select p.datum,p.datum, SUM(prempcena*kolicina) as zaduz, 0 as razduz, p.kljuc, p.kljuc+' Prijem iz carinskog skladišta, '+izdajatelj, 0 as uplata
from promet p, prometpoz pp
where p.kljuc like '__1S0%'
and pp.kljuc = p.kljuc
group by p.datum, p.kljuc,izdajatelj
having p.datum <= #datumz#
union
select p.datum,p.datum, SUM(prempcena*kolicina) as zaduz, 0 as razduz, p.kljuc, p.kljuc+' Prijem od ino dobavljaèa, '+izdajatelj, 0 as uplata
from promet p, prometpoz pp
where p.kljuc like '__191%'
and pp.kljuc = p.kljuc
group by p.datum, p.kljuc,izdajatelj
having p.datum <= #datumz#
order by datum,kljuc
Re: Cudan problem sa konvezijom tipa podataka 16.05.2007. u 18:03 · pre 236 meseci #6
Fali ti "opis" u select statementu, pokusava da insertuje zadnji dio na to mjesto, i naravno da ce ti poakazivati gresku na koloni prije.
Re: Cudan problem sa konvezijom tipa podataka 17.05.2007. u 06:53 · pre 236 meseci #7
Citat:
01011011: Fali ti "opis" u select statementu, pokusava da insertuje zadnji dio na to mjesto, i naravno da ce ti poakazivati gresku na koloni prije.


Ne razumem. Gde mi fali opis. Ja nisam primetio da mi u nekom od select statementa fali opis. Reci mi sta konkretno mislis da nije u redu ?
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme