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

Filtriranje podataka

[es] :: .NET :: Filtriranje podataka

[ Pregleda: 3428 | Odgovora: 11 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

MarkoBalkan

Član broj: 141124
Poruke: 1624
*.adsl.net.t-com.hr.



+19 Profil

icon Filtriranje podataka31.05.2007. u 18:39 - pre 204 meseci
imam bazu u kojoj su neki podaci.baza je access 2003, a VS je 2005.

recimo htio bi filtrirati po 5 razlicitih parametara.

znaci na formi imam 5 textboxeva.

filtriranje kao takvo nije problem.

ono sto je problem je velik broj kombinacija.

znaci gleda se svaki textbox sa svakim.

1 popunjeni 1,2,3,4,5 5 kom.
2 popunjena 12,13,14,15,23,24,25,34,35,45 10 kom.
3 popunjena 123,124,125,134,135,145,234,235,245,345 10 kom.
4 popunjena 1234,1235,1245,1345,2345 5 kom.
5 popunjena 12345 1 kom.

ukupno 31 kombinacija. i svaku bi mi morali stavljati u uvjet.a sta recimo da imamo 10 textboxeva.nekoliko tisuca kombinacija.

pa me zanima, kako se to rjesava jednostavnije? znam da postoji neki nacin, ali ne znam kako.
 
Odgovor na temu

aleksandarpopov
IT consultant
Senta

Član broj: 57172
Poruke: 484
*.sksyu.net.

Sajt: www.linkedin.com/in/aleks..


Profil

icon Re: Filtriranje podataka31.05.2007. u 18:52 - pre 204 meseci
Imas vise resenja :

1. Dinamicki generises sql (tj. uslove u where) upit i parametre za upit u zavisnosti od stanja txt boxova

2. Napravis npr. ovakav upit
Code:

SELECT [sifraIzdavaca]
      ,[nazivIzdavaca]
      ,[adresaIzdavaca]
      ,[mestoIzdavaca]
      ,[telefonIzdavaca]
      ,[email]
 FROM [Izdavac]
WHERE 
sifraIzdavaca = ( case @sifraIzdavaca when -1 then sifraIzdavaca else @sifraIzdavaca end)
AND nazivIzdavaca LIKE ( case @nazivIzdavaca when '' then nazivIzdavaca else @nazivIzdavaca end)
ORDER BY nazivIzdavaca


i dodelis parametrima neku default vrednost npr ovde je -1 i "" mada moze biti koju hoces i ako je vrednost u txt boxu razlicita od "" tada popunis vrednost parametra inace okidas upit sa default vrednosti parametra. Samo pazi da default ne moze da bude neka vrednost koju ces stvarno jednom da trazis :) Ne znam da li Access podrzava ovakve konstrukcije upita... proveri.
Pozdrav

RTFM
 
Odgovor na temu

MarkoBalkan

Član broj: 141124
Poruke: 1624
*.adsl.net.t-com.hr.



+19 Profil

icon Re: Filtriranje podataka31.05.2007. u 20:08 - pre 204 meseci
puno hvala, isprobat cu.jel ovo pod 1 drugi nacin ili je sve skupa?
ako je posebno jel mozes dati primjer i za ovo prvo?
 
Odgovor na temu

aleksandarpopov
IT consultant
Senta

Član broj: 57172
Poruke: 484
*.sksyu.net.

Sajt: www.linkedin.com/in/aleks..


Profil

icon Re: Filtriranje podataka01.06.2007. u 18:34 - pre 204 meseci
Da, to su posebna resenja...
Za resenje pod 1 ... to je malo komplikovanije resenje, treba da prodjes kroz kolekciju txt boxova na formi ili nekom panelu, usercontroli cemu vec stoje txt boxovi i proveravas da li je txt box.Text !="" ako jeste kreiras parametar (ali moras negde imati i tip podatka za tu kolonu u bazi - ovo resenje je primenljivije ako imas neki framework sa kojim radis...) nakalemis na tvoj sql u where klauzuli uslov npr.
Code:
sifraIzdavaca=@sifraIzdavaca

na koju kolonu iz tabele ti se odnosi txt box, postavis vrednost parametra, parametar dodas u kolekciju parametara command objekta i okines upit :)

RTFM
 
Odgovor na temu

MarkoBalkan

Član broj: 141124
Poruke: 1624
*.adsl.net.t-com.hr.



+19 Profil

icon Re: Filtriranje podataka02.06.2007. u 22:08 - pre 204 meseci
ovo radi samo što i u prvom slučaju ide ' '.
 
Odgovor na temu

MarkoBalkan

Član broj: 141124
Poruke: 1624
*.adsl.net.t-com.hr.



+19 Profil

icon Re: Filtriranje podataka09.06.2007. u 22:23 - pre 204 meseci
ovo radi samo sa sql serverom.
za access izbaci

See the end of this message for details on invoking
just-in-time (JIT) debugging instead of this dialog box.

************** Exception Text **************
System.Data.OleDb.OleDbException: IErrorInfo.GetDescription failed with E_FAIL(0x80004005).
at System.Data.OleDb.OleDbCommand.ExecuteCommandTextForSingleResult(tagDBPARAMS dbParams, Object& executeResult)
at System.Data.OleDb.OleDbCommand.ExecuteCommandText(Object& executeResult)
at System.Data.OleDb.OleDbCommand.ExecuteCommand(CommandBehavior behavior, Object& executeResult)
at System.Data.OleDb.OleDbCommand.ExecuteReaderInternal(CommandBehavior behavior, String method)
at System.Data.OleDb.OleDbCommand.ExecuteReader(CommandBehavior behavior)
at System.Data.OleDb.OleDbCommand.System.Data.IDbCommand.ExecuteReader(CommandBehavior behavior)
at System.Data.Common.DbDataAdapter.FillInternal(DataSet dataset, DataTable[] datatables, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior)
at System.Data.Common.DbDataAdapter.Fill(DataTable[] dataTables, Int32 startRecord, Int32 maxRecords, IDbCommand command, CommandBehavior behavior)
at System.Data.Common.DbDataAdapter.Fill(DataTable dataTable)
at Auti.Form1.Button1_Click(Object sender, EventArgs e) in C:\Documents and Settings\Marko\My Documents\Visual Studio 2005\Projects\Auti\Auti\Form1.vb:line 15
at System.Windows.Forms.Control.OnClick(EventArgs e)
at System.Windows.Forms.Button.OnClick(EventArgs e)
at System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
at System.Windows.Forms.Control.WndProc(Message& m)
at System.Windows.Forms.ButtonBase.WndProc(Message& m)
at System.Windows.Forms.Button.WndProc(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)


 
Odgovor na temu

aleksandarpopov
IT consultant
Senta

Član broj: 57172
Poruke: 484
*.sksyu.net.

Sajt: www.linkedin.com/in/aleks..


Profil

icon Re: Filtriranje podataka10.06.2007. u 09:25 - pre 204 meseci
Da izgleda da ne radi za Access, access ne podrzava when, napomenuo sam ti to u prvom postu da moguce da nece raditi. Da ti napomenem jos - ako imas NULL vrednosti polja po kojima filtriras podatke tada ce da poredi ovako-da li je null=null sto vraca false, tako da pripazis na to.
Pozdrav

RTFM
 
Odgovor na temu

MarkoBalkan

Član broj: 141124
Poruke: 1624
*.adsl.net.t-com.hr.



+19 Profil

icon Re: Filtriranje podataka10.06.2007. u 12:10 - pre 204 meseci
a jel postoji šta drugo (umjesto when) da se može koristiti sa access-om na isti način*
 
Odgovor na temu

aleksandarpopov
IT consultant
Senta

Član broj: 57172
Poruke: 484
*.sksyu.net.

Sajt: www.linkedin.com/in/aleks..


Profil

icon Re: Filtriranje podataka10.06.2007. u 12:19 - pre 204 meseci
Probaj ovako nekako
Code:

select ...
  from...
where (field = @parametar or @parametar = -1)

RTFM
 
Odgovor na temu

Markoleo

Član broj: 65642
Poruke: 9
*.adsl.net.t-com.hr.



Profil

icon Re: Filtriranje podataka07.09.2007. u 19:02 - pre 201 meseci
Citat:
aleksandarpopov: Imas vise resenja :

1. Dinamicki generises sql (tj. uslove u where) upit i parametre za upit u zavisnosti od stanja txt boxova

2. Napravis npr. ovakav upit
Code:

SELECT [sifraIzdavaca]
      ,[nazivIzdavaca]
      ,[adresaIzdavaca]
      ,[mestoIzdavaca]
      ,[telefonIzdavaca]
      ,[email]
 FROM [Izdavac]
WHERE 
sifraIzdavaca = ( case @sifraIzdavaca when -1 then sifraIzdavaca else @sifraIzdavaca end)
AND nazivIzdavaca LIKE ( case @nazivIzdavaca when '' then nazivIzdavaca else @nazivIzdavaca end)
ORDER BY nazivIzdavaca


i dodelis parametrima neku default vrednost npr ovde je -1 i "" mada moze biti koju hoces i ako je vrednost u txt boxu razlicita od "" tada popunis vrednost parametra inace okidas upit sa default vrednosti parametra. Samo pazi da default ne moze da bude neka vrednost koju ces stvarno jednom da trazis :) Ne znam da li Access podrzava ovakve konstrukcije upita... proveri.
Pozdrav


a sta ako imamo i datum, pa moramo filtrirati između dva datuma i jos po necem drugom?
 
Odgovor na temu

MarkoBalkan

Član broj: 141124
Poruke: 1624
*.adsl.net.t-com.hr.



+19 Profil

icon Re: Filtriranje podataka08.09.2007. u 11:10 - pre 201 meseci
sve je rijeseno, sad se pojavio jedan novi problem, a to je da imam dva radiobuttona.
i u ovisnosti selekcije, tako mi filtrira.
kako rijesiti pomocu dva radiobuttona?
 
Odgovor na temu

MarkoBalkan

Član broj: 141124
Poruke: 1624
*.adsl.net.t-com.hr.



+19 Profil

icon Re: Filtriranje podataka08.09.2007. u 16:21 - pre 201 meseci
realizirano like (case '" + radioButton1.Checked + "' when '" + false + "' then realizirano else '" + radioButton1.Checked + "' end) and realizirano (case '" + radioButton2.Checked + "' when '" + false + "' then realizirano when '" + true + "' then ovdje else '" + radioButton2.Checked + "' end)

ovo sve radi osim ovog drugog radiobuttona, kako mu reci da ako je oznaceno da ispise ne realizirane.
sta staviti umjesto "ovdje"?
treba mu reci realizirano=false.
ali javi gresku.
 
Odgovor na temu

[es] :: .NET :: Filtriranje podataka

[ Pregleda: 3428 | Odgovora: 11 ] > FB > Twit

Postavi temu Odgovori

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