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

Pretrazivanje Access baze u C#.

[es] :: .NET :: .NET Desktop razvoj :: Pretrazivanje Access baze u C#.

Strane: 1 2 3

[ Pregleda: 8813 | Odgovora: 40 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

jejen83
Beograd

Član broj: 25025
Poruke: 18
*.verat.net



Profil

icon Pretrazivanje Access baze u C#.17.05.2004. u 21:49 - pre 241 meseci
Imam jedan problem vezan za access bazu i C#. Napravio sam program koji poseduje jedan data grid u kome se nalazi baza podataka.Baza podataka sadrzi informacije o diskovima, kao sto je redni broj, naslov diska, njegova kategorija, i naravno kome je disk i da li je uopste pozajmljen. Dodao sam na formu i jedan textBox. E, sad stvar je sledeca. Ocu da kad upisem u taj textBox, npr. slovo a da mi on u data gridu izbacuje odnosno ostavlja samo diskove ciji naslov pocinje sa "a:.U SQL- u to ide ovako:

Code:

private void textBox1_TextChanged(object sender, System.EventArgs e)
    
            {
          oleDbDataAdapter1.SelectCommand.CommandText="SELECT*FROM   CD WHERE naslov LIKE '"+textBox1.Text+"*'";
          MessageBox.Show("SELECT cd.* FROM cd WHERE (cd.Naslov LIKE '"+textBox1.Text+"*')");
          dataSet11.Clear();
          oleDbDataAdapter1.Fill( dataSet11);
                
    } 

Ako neko zna molim za pomoc.Hvala unapred.
 
Odgovor na temu

veljaradenkovic
Velja Radenkovic
Beograd

Član broj: 2977
Poruke: 281
*.ptt.yu

ICQ: 147120023


Profil

icon Re: Pretrazivanje Access baze u C#.17.05.2004. u 22:37 - pre 241 meseci
Podatke koje si iscitao iz baze u DataSet sad treba da smestis u DataGrid.

A to ces ovako:

Code:

this.dataGrid1.DataSource=dataSet11.Tables[0];


Podrazumevam da te interesuje ova jedna tabela sto si je smestio u data set sa kodom tvojim.

Dakle dataSet11 moze da bude kolekcija tabela... a prvu i jedinu koju si iscitao iz baze pozivas preko indexa... indexi idu od nule pa ti je ovo dataSet11.Tables[0] bas ta tabela.

Ovo dataGrid1 je tvoj DataGrid pa tu stavi i njegovo ime ako se drukcije zove.

Pozdrav.
 
Odgovor na temu

jejen83
Beograd

Član broj: 25025
Poruke: 18
*.verat.net



Profil

icon Re: Pretrazivanje Access baze u C#.17.05.2004. u 23:31 - pre 241 meseci
Izgleda da se nismo razumeli. Ja sam vec napravio data grid i filovo ga, ali hocu da kad ukucam u textBoxu neki karakter, npr "a" da mi on update-uje dataGrid i ispise sve u ovom slucaju diskove koji pocinju sa slovom koje sam ukucao u textBoxu, u ovom slucaju "a".
 
Odgovor na temu

Željko
Željko Turbić
top of the mountain

Član broj: 16217
Poruke: 89
195.252.81.*



+6 Profil

icon Re: Pretrazivanje Access baze u C#.18.05.2004. u 08:49 - pre 241 meseci

Ono sto tebi treba je "Sorting and Filtering Data Using a DataView" pa stoga pogledaj ovaj link:
http://msdn.microsoft.com/libr...filteringdatausingdataview.asp

pozdrav Željko


 
Odgovor na temu

jablan

Član broj: 8286
Poruke: 4541



+710 Profil

icon Re: Pretrazivanje Access baze u C#.18.05.2004. u 08:58 - pre 241 meseci
Citat:
jejen83:
Code:

    oleDbDataAdapter1.SelectCommand.CommandText="SELECT*FROM   CD WHERE naslov LIKE '"+textBox1.Text+"*'";


Džoker u SQL-u nije zvezdica već procenat.
 
Odgovor na temu

mmix
Miljan Mitrović
Profesorkin muz
Passau, Deutschland

SuperModerator
Član broj: 17944
Poruke: 6041



+4631 Profil

icon Re: Pretrazivanje Access baze u C#.18.05.2004. u 09:10 - pre 241 meseci
Citat:
jablan:
Džoker u SQL-u nije zvezdica već procenat.


Zvezdica je za Access. Ako si sad pomislio "daj, nema šanse", znaj da sam i ja to pomislio MS, go figure

Sloba je za 12 godina promenio antropološki kod srpskog naroda. On je od jednog naroda koji je bio veseo, pomalo površan, od jednog naroda koji je bio znatiželjan, koji je voleo da vidi, da putuje, da upozna,
od naroda koji je bio kosmopolitski napravio narod koji je namršten, mrzovoljan, sumnjicav, zaplašen, narod koji se stalno nešto žali, kome je stalno neko kriv… - Z.Đinđić
 
Odgovor na temu

jejen83
Beograd

Član broj: 25025
Poruke: 18
*.verat.net



Profil

icon Re: Pretrazivanje Access baze u C#.18.05.2004. u 13:05 - pre 241 meseci
Hvala vam puno, nisam jos probao ovo sto mi je jablan odgovorio, ali probacu, a iskreno, da je dzoker u SQL-u procenat nisam znao, hvala.Ako se negde zaglavim, eto mene ponovo, naravno ako budete voljni pomoci. Pozdrav.
 
Odgovor na temu

jejen83
Beograd

Član broj: 25025
Poruke: 18
*.verat.net



Profil

icon Re: Pretrazivanje Access baze u C#.18.05.2004. u 13:40 - pre 241 meseci
Uf, momci probao sam ovo sto mi je jablan napisao i nece.Poludecu. evo sta sam uradio.

Code:

private void textBox3_TextChanged(object sender, System.EventArgs e)
        {
            oleDbDataAdapter1.SelectCommand.CommandText="SELECT * FROM Diskovi WHERE Naslov diska LIKE '"+textBox1.Text+"*'";
        }


Eto, i kad kompajliram sve prodje ok, ali kad pokrenem i ukucam nesto u textBox3 nista se nedesava, bazsa ostaje kakva jeste, tj neodstranjuje podatke cije ime nepocinje sa karakterom koji je unet u texBox3. Ako je neko voljan da mi pomogne,poludecu. Samo mi jos to treba da zavrsim program.Hvala
 
Odgovor na temu

mmix
Miljan Mitrović
Profesorkin muz
Passau, Deutschland

SuperModerator
Član broj: 17944
Poruke: 6041



+4631 Profil

icon Re: Pretrazivanje Access baze u C#.18.05.2004. u 15:10 - pre 241 meseci
Citat:
jejen83:
Uf, momci probao sam ovo sto mi je jablan napisao i nece.Poludecu. evo sta sam uradio.


Pazi ovako prijatelju, koncepcijski nisi dobro razumeo kako radi DataGrid. Onog trenutka kad uradiš DataBind nad gridom, grid povuče podatke i od tad pa nadalje koristi svoj interni "offline" set podataka za iscrtavanje. To što si ti promenio komandu u DataAdapteru kojim si punio grid ne utiče nikako na pomenute "offline" podatke. Da bi "osvežio" te podatke, moraš ponovo da uradiš Bind-ovanje:

Code:

private void textBox1_TextChanged(object sender, System.EventArgs e)
{
    oleDbDataAdapter1.SelectCommand.CommandText="SELECT * FROM
        CD WHERE naslov LIKE '"+textBox1.Text+"*'";
    dataSet11.Clear();
    oleDbDataAdapter1.Fill( dataSet11);
    // sledeću liniju ne ubacuješ ako ti je grid statički vezan za dataSet
    dataGrid1.DataSource=dataSet11;

    // ova linije ja ono što tebi fali
    dataGrid1.DataBind();



I još nešto, ako je ovo asp.net aplikacija (mada pretpostavljam da nije), TextChanged event za textBox kontrolu se okida tek na prvi sledeći postback, te stoga neće reagovati na inkrementalno ukucavanje teksta kao što to radi WinForms ekvivalent.

E sad, postoji i šema sa DataView za koju ti je link dao Željko, to je dobra fora (učitaš jedanput sve pa filtriraš offline) ali i u tom slučaju moraš dataGrid da re-binduješ da bi dataGrid osvežio svoj set podataka.

Sloba je za 12 godina promenio antropološki kod srpskog naroda. On je od jednog naroda koji je bio veseo, pomalo površan, od jednog naroda koji je bio znatiželjan, koji je voleo da vidi, da putuje, da upozna,
od naroda koji je bio kosmopolitski napravio narod koji je namršten, mrzovoljan, sumnjicav, zaplašen, narod koji se stalno nešto žali, kome je stalno neko kriv… - Z.Đinđić
 
Odgovor na temu

jejen83
Beograd

Član broj: 25025
Poruke: 18
217.26.67.*



Profil

icon Re: Pretrazivanje Access baze u C#.18.05.2004. u 16:21 - pre 241 meseci
Probao sam da dodam ceo ovaj kod koji si mi dao, i kad sam pokrenuo program i upisao bilo sta u text box dobio sam poruku tipa:

....Syintax error (missing operator) in query expression 'Naslov diska LIKE CD Katalog by Bojan Mrdja' ???? Neznam kakve ovo ima veze, kad sam lepo u kodu naveo sledece:
Code:

private void textBox3_TextChanged(object sender, System.EventArgs e)
    {
            //oleDbDataAdapter1.SelectCommand.CommandText="SELECT * FROM Diskovi WHERE Naslov diska LIKE '"+textBox1.Text+"*'";
            oleDbDataAdapter1.SelectCommand.CommandText="SELECT * FROM Diskovi WHERE Naslov diska LIKE '"+textBox1.Text+"*'";
    dataSet11.Clear();
    oleDbDataAdapter1.Fill( dataSet11);
    // sledecu liniju ne ubacuješ ako ti je grid taticki vezan za dataSet
    //dataGrid1.DataSource=dataSet11;

    // ova linije ja ono što tebi fali
    //dataGrid1.DataBind();

             }


E, sad sam se stvarno zbunio.Nista mi nije jasno.
 
Odgovor na temu

mmix
Miljan Mitrović
Profesorkin muz
Passau, Deutschland

SuperModerator
Član broj: 17944
Poruke: 6041



+4631 Profil

icon Re: Pretrazivanje Access baze u C#.18.05.2004. u 16:28 - pre 241 meseci
Polje čiji naziv sadrži space mora da ide pod kockaste zagrade, plus access oce da luduje oko nedostatka zagrada u logičkim uslovima, probaj ovu liniju umesto postojeće:

Code:

oleDbDataAdapter1.SelectCommand.CommandText="SELECT * FROM Diskovi WHERE ([Naslov diska] LIKE '"+textBox1.Text+"*')";


BTW, jel se meni čini ili si ti komentirao liniju sa DataBind?
Sloba je za 12 godina promenio antropološki kod srpskog naroda. On je od jednog naroda koji je bio veseo, pomalo površan, od jednog naroda koji je bio znatiželjan, koji je voleo da vidi, da putuje, da upozna,
od naroda koji je bio kosmopolitski napravio narod koji je namršten, mrzovoljan, sumnjicav, zaplašen, narod koji se stalno nešto žali, kome je stalno neko kriv… - Z.Đinđić
 
Odgovor na temu

jejen83
Beograd

Član broj: 25025
Poruke: 18
217.26.67.*



Profil

icon Re: Pretrazivanje Access baze u C#.18.05.2004. u 17:34 - pre 241 meseci
Jedino sto se sad desava je nista, tj, kad ukucam bilo sta on mi izbrise celu bazi iz data grida i to je to.Neostavlja mi diskove koji pocinju sa karakterom koji sam ukucao u textBox. Porbao sam i da otkomentarisem liniju dataGrid1.dataBind() ali dobijam poruku tipa: 'System.Windows.Forms.DataGrid' does not contain a definition for 'DataBind'. Neznam vise sta da radim.Nemoj da se ljutis na mene, relativno sam skoro poceo da radim c#, pa sam jos pocetnik.Ako znas kako da uradis i hoces mogu ti poslati programce da probas. Pozdrav i veliko HVALA.
 
Odgovor na temu

mmix
Miljan Mitrović
Profesorkin muz
Passau, Deutschland

SuperModerator
Član broj: 17944
Poruke: 6041



+4631 Profil

icon Re: Pretrazivanje Access baze u C#.18.05.2004. u 17:47 - pre 241 meseci
Nemoj da se izvinjavaš, moja krivica, predugo sam u asp.net vodama pa sam omanuo za naziv metode, umesto dataGrid1.DataBind linije stavi:

Code:

dataGrid1.SetDataBinding(dataSet11, "Diskovi");

Sloba je za 12 godina promenio antropološki kod srpskog naroda. On je od jednog naroda koji je bio veseo, pomalo površan, od jednog naroda koji je bio znatiželjan, koji je voleo da vidi, da putuje, da upozna,
od naroda koji je bio kosmopolitski napravio narod koji je namršten, mrzovoljan, sumnjicav, zaplašen, narod koji se stalno nešto žali, kome je stalno neko kriv… - Z.Đinđić
 
Odgovor na temu

jejen83
Beograd

Član broj: 25025
Poruke: 18
217.26.67.*



Profil

icon Re: Pretrazivanje Access baze u C#.18.05.2004. u 20:44 - pre 241 meseci
E,probao sam ovo i opet nisam nista dobio.Opet mi obrise celu bazu, a nece da mi prikaze samo diskove koji poseduju taj karakter, i jos me sad da da samo jedan karakter unesem u texBox, pa onda moram ponovo da kliknem na textBox da bi mogao da dodam drugi.

kod sam napisao ovako:
Code:

private void textBox3_TextChanged(object sender, System.EventArgs e)
{
                //oleDbDataAdapter1.SelectCommand.CommandText="SELECT * FROM Diskovi WHERE Naslov diska LIKE '"+textBox1.Text+"*'";
                oleDbDataAdapter1.SelectCommand.CommandText="SELECT * FROM Diskovi WHERE ([Naslov diska] LIKE '"+textBox1.Text+"*')";
    dataSet11.Clear();
    oleDbDataAdapter1.Fill( dataSet11);
    // sledecu liniju ne ubacuješ ako ti je grid staticki vezan za dataSet
    //dataGrid1.DataSource=dataSet11;
            //ova linije ja ono što tebi fali
    dataGrid1.SetDataBinding(dataSet11, "Diskovi");
}


Uf, poludecu.I tako ti ja nema sanse da resim problem.Vise stvarno ne znam sta da radim.Niko pa cak ni moji profesori koji ovo predaju na mom faksu neznaju da urade, znaju kao sa sql-om, mada verujem da neznaju ni to, nego kao fora.Aj ako ti padne jos neko moguce resenje ti pomogaj.Hvala ti, pozdrav Bojan
 
Odgovor na temu

degojs

Član broj: 4716
Poruke: 5096



+51 Profil

icon Re: Pretrazivanje Access baze u C#.18.05.2004. u 21:30 - pre 241 meseci
Umesto * stavi % i rešena stvar (kako je jablan već napisao). Pozdrav.

[Ovu poruku je menjao degojs dana 18.05.2004. u 17:35 GMT]
Commercial-Free !!!
 
Odgovor na temu

sslavko
Auckland, NZ

Član broj: 17156
Poruke: 81
*.dialup.sezampro.yu.



Profil

icon Re: Pretrazivanje Access baze u C#.18.05.2004. u 21:34 - pre 241 meseci
Citat:
jejen83:
E,probao sam ovo i opet nisam nista dobio.Opet mi obrise celu bazu, a nece da mi prikaze samo diskove koji poseduju taj karakter, i jos me sad da da samo jedan karakter unesem u texBox, pa onda moram ponovo da kliknem na textBox da bi mogao da dodam drugi.
}


Moras da stavis procenat umesto zvezdice u SQL upitu i radice. Probao sam. I obavezno otkomentarisi ovaj deo:

dataGrid1.DataSource=dataSet11;

 
Odgovor na temu

jejen83
Beograd

Član broj: 25025
Poruke: 18
*.vdial.verat.net



Profil

icon Re: Pretrazivanje Access baze u C#.19.05.2004. u 08:39 - pre 241 meseci
E,pa narode meni je baza u Accessu a ne u SQL - u sto bi stavljao procenat, koliko sam ukapirao to je za SQL, ili mozda gresim? U svakom slucaju sad cu da probam! Ne, nece da radi, opet mi program puca. uradio sam to sto ste rekli. Nista se nedesava, kako ukucam neko slovo u textBox, dsamo nestane cela baza i program pukne.Eto to je sve sto se desava.
 
Odgovor na temu

mmix
Miljan Mitrović
Profesorkin muz
Passau, Deutschland

SuperModerator
Član broj: 17944
Poruke: 6041



+4631 Profil

icon Re: Pretrazivanje Access baze u C#.19.05.2004. u 09:15 - pre 241 meseci
Ovo je vec tumaranje po mraku. Ajde lepo okaci samo .cs fajl od forme ovde pa da vidimo gde je previd.
Sloba je za 12 godina promenio antropološki kod srpskog naroda. On je od jednog naroda koji je bio veseo, pomalo površan, od jednog naroda koji je bio znatiželjan, koji je voleo da vidi, da putuje, da upozna,
od naroda koji je bio kosmopolitski napravio narod koji je namršten, mrzovoljan, sumnjicav, zaplašen, narod koji se stalno nešto žali, kome je stalno neko kriv… - Z.Đinđić
 
Odgovor na temu

sslavko
Auckland, NZ

Član broj: 17156
Poruke: 81
*.dialup.sezampro.yu.



Profil

icon Re: Pretrazivanje Access baze u C#.19.05.2004. u 12:58 - pre 241 meseci
Citat:
jejen83:
E,pa narode meni je baza u Accessu a ne u SQL - u sto bi stavljao procenat, koliko sam ukapirao to je za SQL, ili mozda gresim? U svakom slucaju sad cu da probam! Ne, nece da radi, opet mi program puca. uradio sam to sto ste rekli. Nista se nedesava, kako ukucam neko slovo u textBox, dsamo nestane cela baza i program pukne.Eto to je sve sto se desava.


Pa i Access koristi SQL za upite. A da bi nesto bilo SQL mora da ispostuje standard. A u SQL specifikaciji pise da tu treba da stoji procenat a ne zvezdica i Microsoft to mora da ispostuje. Mogu oni da dodaju svoje specificnosti ali osnovni standard mora da se ispostuje. Dobar primer je MS Visual C++. Da bi uopste bio C++ mora da ispostuje ANSI C++ specifikaciju, a MS je uz to dodao i gomilu svojih stvari ali to ne narusava standard. Dobro, znam da ima odstupanja u ovome sto sam napisao i da nije bas 100% tako ali u nacelu to je logika.
 
Odgovor na temu

degojs

Član broj: 4716
Poruke: 5096



+51 Profil

icon Re: Pretrazivanje Access baze u C#.19.05.2004. u 14:34 - pre 241 meseci
Citat:
E,pa narode meni je baza u Accessu a ne u SQL - u sto bi stavljao procenat, koliko sam ukapirao to je za SQL, ili mozda gresim?

Grešiš u ovom slučaju..
Citat:
Ne, nece da radi, opet mi program puca. uradio sam to sto ste rekli.

Onda je neki drugi problem u pitanju pošto provereno radi sa %. Sad sam napravio i primer baš kakav tebi treba i radi bez problema. Sa % radi, a sa * ne.
Commercial-Free !!!
 
Odgovor na temu

[es] :: .NET :: .NET Desktop razvoj :: Pretrazivanje Access baze u C#.

Strane: 1 2 3

[ Pregleda: 8813 | Odgovora: 40 ] > FB > Twit

Postavi temu Odgovori

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