Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Kako vratiti iz Storke niz tipa string, koji se sastoji od integera ?

[es] :: MS SQL :: Kako vratiti iz Storke niz tipa string, koji se sastoji od integera ?

[ Pregleda: 2758 | Odgovora: 7 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

KizaBG
programer

Član broj: 169491
Poruke: 247
*.adsl-a-1.sezampro.yu.



+1 Profil

icon Kako vratiti iz Storke niz tipa string, koji se sastoji od integera ?16.10.2009. u 22:59 - pre 176 meseci
Imam sledeci problem

u storovanoj proceduri, treba da izracunam zaposlene od 20, 30, 40 itd. godina

i treba da vratim koliko ima zaposlenih do 20, od 20 do 30, od 30 do 40 ,itd godina

Moja ideja je da napravim niz od integera, koje cu vratiti u C# .. ali ne znam kako da kastujem INT u string ?? ubih se trazeci po netu, ali nista.

Evo procedure

PROCEDURE [dbo].[Zaposleni_PoStarosnojStrukturi]
@Niz nvarchar(50) OUTPUT

-- with encryption
AS
DECLARE @Ispod20 int
DECLARE @Od20do30 int
DECLARE @Od30do40 int
DECLARE @Od40do50 int
DECLARE @Od50do60 int
DECLARE @Preko60 int

BEGIN

SET NOCOUNT ON;
BEGIN TRY
BEGIN TRANSACTION;

SET @Ispod20 = (SELECT COUNT (OsobaID)
FROM Osoba WHERE((YEAR(getdate()) - YEAR(Osoba.DatumRodjenja)) >= 0 AND ((YEAR(getdate()) - YEAR(Osoba.DatumRodjenja)) <= 20)))
SET @Od20do30 = (SELECT COUNT (OsobaID)
FROM Osoba WHERE((YEAR(getdate()) - YEAR(Osoba.DatumRodjenja)) > 20 AND ((YEAR(getdate()) - YEAR(Osoba.DatumRodjenja)) <= 30)))
SET @Od30do40 = (SELECT COUNT (OsobaID)
FROM Osoba WHERE((YEAR(getdate()) - YEAR(Osoba.DatumRodjenja)) > 30 AND ((YEAR(getdate()) - YEAR(Osoba.DatumRodjenja)) <= 40)))
SET @Od40do50 = (SELECT COUNT (OsobaID)
FROM Osoba WHERE((YEAR(getdate()) - YEAR(Osoba.DatumRodjenja)) > 40 AND ((YEAR(getdate()) - YEAR(Osoba.DatumRodjenja)) <= 50)))
SET @Od50do60 = (SELECT COUNT (OsobaID)
FROM Osoba WHERE((YEAR(getdate()) - YEAR(Osoba.DatumRodjenja)) > 50 AND ((YEAR(getdate()) - YEAR(Osoba.DatumRodjenja)) <= 60)))
SET @Preko60 = (SELECT COUNT (OsobaID)
FROM Osoba WHERE((YEAR(getdate()) - YEAR(Osoba.DatumRodjenja)) > 60 AND ((YEAR(getdate()) - YEAR(Osoba.DatumRodjenja)) <= 80)))

e sada problem mi je kako ove dobijene rezultate spojiti u 1 string, i vratiti nazad ?? Probao sam ovako, ali ne vredi

SET @Niz = cast(@Ispod20 as nvarchar) +','+ cast(@Od20do30 as nvarchar) +','+ cast(@Od30do40 as nvarchar) +','+ cast(@Od40do50 as nvarchar) +','+ cast(@Od50do60 as nvarchar) +','+ cast(@Preko60 as nvarchar)

dobijam gresku tipa
Conversion failed when converting the nvarchar value '7,1,2,2,3,4' to data type int.

100 x thanks in advance .. vise nemam ideje

 
Odgovor na temu

dusty
Predrag Glumac
Zemun, Srbija

Član broj: 15383
Poruke: 549
*.sip.int.bellsouth.net.

Sajt: www.mika.rs


+6 Profil

icon Re: Kako vratiti iz Storke niz tipa string, koji se sastoji od integera ?17.10.2009. u 01:11 - pre 176 meseci
Mislim da je problem sto nisi definisao duzinu nvarchar tipa (cast(@int as nvarchar(5))). Posto ne koristis nikakvu lokalzaciju, nema potrebe da koristis nvarchar tip, stavi da bude varchar.
Necu da zapitkujem zasto moras da vratis kao string, zasto ne moze da bude rowset, ali mozda bi trebao da uzmes u obzir koriscenje for xml kaluzule.
America national sport is called baseballs. It very similar to our sport, shurik, where we take dogs, shoot them in a field and then have a party.
 
Odgovor na temu

KizaBG
programer

Član broj: 169491
Poruke: 247
*.adsl-a-1.sezampro.yu.



+1 Profil

icon Re: Kako vratiti iz Storke niz tipa string, koji se sastoji od integera ?17.10.2009. u 13:38 - pre 176 meseci
Hvala za pomoci, ali ne vredi.

probao sam sve .. i nvarchar(20) (na primer) i varchar (20) .. i opet javlja istu gresku.

znaci, pitanje je, kako ovih 6 parametara, vratiti nazad u C# code ?

Necu da zapitkujem zasto moras da vratis kao string, zasto ne moze da bude rowset, ali mozda bi trebao da uzmes u obzir koriscenje for xml kaluzule.

ma pitaj slobodno, nisam ja sujetan, niti mislim da postoji osoba koja sve zna :), tako da je svaka ideja dobro dosla.

Kako mislis da Rowset vratim nazad u C# ?

pozdrav
 
Odgovor na temu

dusty
Predrag Glumac
Zemun, Srbija

Član broj: 15383
Poruke: 549
*.kwcp.net.

Sajt: www.mika.rs


+6 Profil

icon Re: Kako vratiti iz Storke niz tipa string, koji se sastoji od integera ?17.10.2009. u 17:21 - pre 176 meseci
A kog tipa ti je output parametar koji vracas ? Ispada da vracas int ? Da nisi pokusao da ga vratis kao return value ?
America national sport is called baseballs. It very similar to our sport, shurik, where we take dogs, shoot them in a field and then have a party.
 
Odgovor na temu

KizaBG
programer

Član broj: 169491
Poruke: 247
*.adsl-a-1.sezampro.yu.



+1 Profil

icon Re: Kako vratiti iz Storke niz tipa string, koji se sastoji od integera ?17.10.2009. u 17:43 - pre 176 meseci
dusty kralju :))))

ja sam definisao OUTPUT paremetar, a onda sam u storki jos ubacio

RETURN @Niz;

cool .. sada je sve OK

puno pozdrava i svako dobro.

p.s

u kom gradi si u US. Ja nekada radio u Pittsburghu i Chicagu, ali se zeznuo pa se vratio u Srbiju :(((
 
Odgovor na temu

KizaBG
programer

Član broj: 169491
Poruke: 247
*.adsl-a-1.sezampro.yu.



+1 Profil

icon Re: Kako vratiti iz Storke niz tipa string, koji se sastoji od integera ?17.10.2009. u 17:48 - pre 176 meseci
Ajd jos jedno pitanje, ako slucajno znas .. jel postoji f-ja u C#, pomocu koje mogu da parsiram niz ?

Nasao sam komandu SPLIT ... ima li mozda neko jednostavnije resenje ?

pozdrav
 
Odgovor na temu

dusty
Predrag Glumac
Zemun, Srbija

Član broj: 15383
Poruke: 549
*.kwcp.net.

Sajt: www.mika.rs


+6 Profil

icon Re: Kako vratiti iz Storke niz tipa string, koji se sastoji od integera ?17.10.2009. u 18:34 - pre 176 meseci
Tja, neverovatno koliko pomaze kada procitas celo pitanje, a ne prvih par redova

Samo Split i onda prema indeksu, a indekse mozes da enumerises da bi bilo citljivije. Zato mislim da je bolje da koristis FOR XML klauzulu i da vracas string koji ces moci da ocitas sa ExecuteScalar, pa ga strpas u XML objekat. Tako ces da imas vecu fleksibilnost za buduca prosirenja, no to je tema za .Net, da ne kaljamo forum

BTW inace, provera datuma ti nije dobra :P Sta ako je neko rodjen u decembru 1979 ? Taj jos uvek nema 30 godina. Neka ideja je da koristis DateDiff i starost odredjujes po broju dana.


Offtopic:
Ja sam privremeno u USA, predgradje Greensboroa, trebao sam sutra da se vratim kuci, ali ne daju dusmani Ne bih ostao da zivim u USA, pa da ne znam sta da mi ponude.
America national sport is called baseballs. It very similar to our sport, shurik, where we take dogs, shoot them in a field and then have a party.
 
Odgovor na temu

KizaBG
programer

Član broj: 169491
Poruke: 247
*.adsl-a-1.sezampro.yu.



+1 Profil

icon Re: Kako vratiti iz Storke niz tipa string, koji se sastoji od integera ?18.10.2009. u 12:43 - pre 176 meseci
Sto se tice provere datuma, moze i promena koda, ali kada poslodavaca malo da para :))

naime, to je jedno 100-a dopuna softvera tipa " a jel bi moglo da se doda jos ovo , ako ne uzme puno vremena. Jeste da to nije uslo u placanje, ali ako bi moglo bilo bi dobro"

naravno recenica "jeste da to nije uslo u placanje " se zaboravi posle 2 dana, i onda se za tu funkcionalnost trazi sve kao i za one koje su placene.

naravno, da sam pre pocetka rada napravio Projekat, i to na nekih 200 strana, i da ga je poslodavac procitao, i potpisao, ali bezobrazluku nikad kraja :)

sto se tice US .. ok.. tako sam i ja nekada mislio :)

pozdrav, svako dobro
 
Odgovor na temu

[es] :: MS SQL :: Kako vratiti iz Storke niz tipa string, koji se sastoji od integera ?

[ Pregleda: 2758 | Odgovora: 7 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.