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

Opcioni parametri u SELECT upitu za MySQL

[es] :: .NET :: Opcioni parametri u SELECT upitu za MySQL

[ Pregleda: 1743 | Odgovora: 5 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

oggie

Član broj: 126613
Poruke: 140
212.62.38.*



+1 Profil

icon Opcioni parametri u SELECT upitu za MySQL08.06.2009. u 09:20 - pre 181 meseci
U MSSQL bazi imam ovakav upit sa opcionim parametrima koji savrseno radi:


SELECT *
FROM Orders
WHERE (CustomerID = @CustomerID OR @CustomerID IS NULL)
AND (EmployeeID = @EmployeeID OR @EmployeeID IS NULL)
AND NOT (@CustomerID IS NULL AND @EmployeeID IS NULL)


Sada treba to isto da uradim za MySQL bazu, ali ne znam kako, probao sam nekako ovako ali ne ide;



SELECT *
FROM Orders
WHERE (CustomerID = ? OR ? IS NULL)
AND (EmployeeID = ? OR ? IS NULL)
AND NOT (? IS NULL AND ? IS NULL)

Da li postoji nacin da se u MySql-u da neki naziv parametra, ovako kad imam 10 znakova pitanja ne znam sta je sta?
 
Odgovor na temu

Igor Gajic

Član broj: 93194
Poruke: 747
93.86.74.*



+987 Profil

icon Re: Opcioni parametri u SELECT upitu za MySQL08.06.2009. u 16:10 - pre 181 meseci
Code:

SELECT *
FROM Orders
WHERE (CustomerID = ?CustomerID OR ?CustomerID IS NULL)
AND (EmployeeID = ?EmployeeID OR ?EmployeeID IS NULL)
AND NOT (?CustomerID IS NULL AND ?EmployeeID IS NULL)



@ == ? u MySql
 
Odgovor na temu

oggie

Član broj: 126613
Poruke: 140
93.86.16.*



+1 Profil

icon Re: Opcioni parametri u SELECT upitu za MySQL08.06.2009. u 18:20 - pre 181 meseci
Hvala, ne mogu sad da isprobam, nemam MySql ovde... sutra odmah isprobavam...

Ako sam dobro shvatio poenta je da se parametar zove isto kao polje u bazi samo sa znakom pitanja.

E sad to me dovodi u drugu dilemu, kako napisati po tom principu ovaj upit:

Select * from Orders Where (Datum >= ?DatumOd AND Datum <=?DatumDo)

Znaci imam jedno polje Datum, a prosledjujem 2 parametra DatumOd i DatumDo, da li to moze ovako kako sam napisao ili ce da se buni jer parametar nema isto ime kao polje u bazi.

Drugo pitanje, kako napisati ovakav upit:

Select * from Orders Where CustomerId IN (pa ovde parametar za niz integera, koji bih prosledio kao string sa zarezima)

recimo

string parametar = "1,3,5"

Select * from Orders Where CustomerId IN (parametar)

U MSSQL serveru ovaj Where In upit radim tako sto u MSSQL imam Split funkciju, pa onda upitu prosledim niz kao string a split funkcija ga podeli na integere, ne znam da li to moze i MySql da proguta, kod MySql me najvise bune ti nazivi parametara, nikako ne bih da imam ? u upitu i da nagadjam sta je to.
 
Odgovor na temu

Igor Gajic

Član broj: 93194
Poruke: 747
93.86.74.*



+987 Profil

icon Re: Opcioni parametri u SELECT upitu za MySQL08.06.2009. u 18:36 - pre 181 meseci
1. Ne moras definisati isto ime za parametar kao sto je kolona. Npr:

Code:

 MySqlCommand cmd=new MySqlCommand("Select * from Orders Where (Datum >= ?DatumOd AND Datum <=?DatumDo)",conn);

 cmd.Parameters.Add("?DatumDo", MySqlDbType.DateTime).Value=DateTime.Now;
 cmd.Parameters.Add("?DatumOd", MySqlDbType.DateTime).Value=DateTime.AddYears(-2.0d);

 
Odgovor na temu

oggie

Član broj: 126613
Poruke: 140
93.86.16.*



+1 Profil

icon Re: Opcioni parametri u SELECT upitu za MySQL08.06.2009. u 19:38 - pre 181 meseci
Hvala jos jednom, nisam napomenuo da ja ovaj upit pisem u Datatable Adapteru, ne radim iz koda, tako da mi se adapter stalno nesto buni. On sam doda neke parametre i da im neko svoje ime, pa ih ja u kolekciji parametara preimenujem, ali mi to nikako nije zgodno za odrzavanje. Zato trazim neki elegantniji nacin.
 
Odgovor na temu

oggie

Član broj: 126613
Poruke: 140
212.62.38.*



+1 Profil

icon Re: Opcioni parametri u SELECT upitu za MySQL09.06.2009. u 07:30 - pre 181 meseci
Code:

SELECT *
FROM Orders
WHERE (CustomerID = ?CustomerID OR ?CustomerID IS NULL)
AND (EmployeeID = ?EmployeeID OR ?EmployeeID IS NULL)
AND NOT (?CustomerID IS NULL AND ?EmployeeID IS NULL)


Nazalost, ovaj kod ne radi u datatable adapteru, buni se za ove parametre.
 
Odgovor na temu

[es] :: .NET :: Opcioni parametri u SELECT upitu za MySQL

[ Pregleda: 1743 | Odgovora: 5 ] > FB > Twit

Postavi temu Odgovori

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