[ pl4stik @ 20.03.2008. 18:52 ] @
Pokusavam da napravim upit koji ako mu ne navedem parametar racuna da je taj parametar svi tj. da tu kolonu ne filtrira.

Code:

SELECT     IDdokument, Korisnik, Naziv, Broj, Datum, Text, Doc, Kilometraža
FROM         dokumenta
WHERE     (Datum >= @Od) AND (Datum <= @Do) AND (Korisnik = @Korisnik) AND (Kilometraža = @Kilometraza)


Znaci ako ne navedem neki od parametara da racuna kao da ga nema. Ako me razumete i ako je to moguce uopste. Pomozite mi molim Vas ostadoh bez kose
[ jablan @ 20.03.2008. 19:11 ] @
Pogledaj ovaj primer:

http://weblogs.asp.net/rmclaws/archive/2004/02/18/75381.aspx
[ pl4stik @ 20.03.2008. 20:55 ] @
Evo dokle sam stigo aj neki predlog ima problema sa date-om.

Code:

SELECT     IDdokument, Korisnik, Naziv, Broj, Datum, Text, Doc, Kilometraza, Brojpruge
FROM         dokumenta
WHERE     (@Korisnik IS NULL) OR (@Korisnik IS NOT NULL) AND (Korisnik = @Korisnik)
        AND (@Kilometraza IS NULL) OR (@Kilometraza IS NOT NULL) AND (Kilometraza = @Kilometraza)
        AND (@Od IS NULL) OR (@Od IS NOT NULL) AND (Datum >= @Od)
        AND (@Do IS NULL) OR (Datum >= @Do) AND (@Do IS NOT NULL)
[ pl4stik @ 20.03.2008. 21:04 ] @
Pa sta mu je sad?
Sta ovde ne valja?

Code:

CREATE PROCEDURE dbo.StoredProcedure2 


DECLARE @Korisnik varchar(50)
DECLARE @Kilometraza varchar(50)
DECLARE @Od datetime
DECLARE @Do datetime

SET @Korisnik = NULL
SET @Kilometraza = NULL
SET @Od = NULL
SET @Do = NULL

SELECT     IDdokument, Korisnik, Naziv, Broj, Datum, Text, Doc, Kilometraza, Brojpruge
FROM         dokumenta
WHERE     
(@Korisnik IS NULL) OR(@Korisnik IS NOT NULL) AND (Korisnik = @Korisnik) AND (@Kilometraza IS NULL) OR
(@Kilometraza IS NOT NULL) AND (Kilometraza = @Kilometraza) AND (@Od IS NULL) OR
(@Od IS NOT NULL) AND (Datum >= @Od) AND (@Do IS NULL) OR (Datum >= @Do) AND (@Do IS NOT NULL)
[ vujkev @ 20.03.2008. 23:07 ] @
Ovo pisem iz glave pa se nadam da ću pogoditi sintaksu

Code:

SELECT     IDdokument, Korisnik, Naziv, Broj, Datum, Text, Doc, Kilometraža
FROM         dokumenta
WHERE     (Datum >= isnull(@Od,'01-01-1753')) AND (Datum <= isnull(@Do, '12-31-9999')) AND (Korisnik = isnull(@Korisnik,Korisnik)) AND (Kilometraža = isnull(@Kilometraza,Kilometraža))


[ DarkMan @ 20.03.2008. 23:12 ] @
Citat:
pl4stik: Pa sta mu je sad?
Sta ovde ne valja?

Code:

CREATE PROCEDURE dbo.StoredProcedure2 


DECLARE @Korisnik varchar(50)
DECLARE @Kilometraza varchar(50)
DECLARE @Od datetime
DECLARE @Do datetime

SET @Korisnik = NULL
SET @Kilometraza = NULL
SET @Od = NULL
SET @Do = NULL

SELECT     IDdokument, Korisnik, Naziv, Broj, Datum, Text, Doc, Kilometraza, Brojpruge
FROM         dokumenta
WHERE     
(@Korisnik IS NULL) OR(@Korisnik IS NOT NULL) AND (Korisnik = @Korisnik) AND (@Kilometraza IS NULL) OR
(@Kilometraza IS NOT NULL) AND (Kilometraza = @Kilometraza) AND (@Od IS NULL) OR
(@Od IS NOT NULL) AND (Datum >= @Od) AND (@Do IS NULL) OR (Datum >= @Do) AND (@Do IS NOT NULL)


Obrati paznju kako grupises sa zagradama.
Code:


(@Korisnik IS NULL  OR (@Korisnik IS NOT NULL AND Korisnik = @Korisnik))
AND (@Kilometraza IS NULL OR (@Kilometraza IS NOT NULL AND Kilometraza = @Kilometraza))
AND (@Od IS NULL OR (@Od IS NOT NULL AND Datum >= @Od))
AND (@Do IS NULL OR (Datum >= @Do AND @Do IS NOT NULL))



A trebalo bi da moze i ovako:
Code:


(@Korisnik IS NULL  OR Korisnik = @Korisnik)
AND (@Kilometraza IS NULL OR Kilometraza = @Kilometraza)
AND (@Od IS NULL OR Datum >= @Od)
AND (@Do IS NULL OR Datum >= @Do)

[ pl4stik @ 22.03.2008. 03:42 ] @
@vujkev

Your entry cannot be converted to a valid date time value.

@DarkMan

Error source: .Net SqlClient Data Provider
Error message: Arithmetic overflow error converting expression to data type datetime.

Da napomenem da koristim MSSQLXpress2005 i jel postoje u njemu neke konverzije tipa ToString sta li?


[ DarkMan @ 22.03.2008. 15:41 ] @
Citat:
pl4stik: @vujkev
Error source: .Net SqlClient Data Provider
Error message: Arithmetic overflow error converting expression to data type datetime.

Greske koje si naveo ti se javljaju u .NET aplikaciji, sa datim podacim tesko da ce ti neko pomoci. Mozda je bolje da postujes u forumu za .NET programiranje, naravno sa kodom kojim izvrsavas query.