C# - Problemi i rješenja izdvojena tema

poruka: 2.151
|
čitano: 706.191
|
moderatori: Lazarus Long, XXX-Man, vincimus
+/- sve poruke
ravni prikaz
starije poruke gore
14 godina
neaktivan
offline
C# - Problemi i rješenja

Strašno!  Samo odjednom pocelo, ako tko slucajno zna sto ovo znaci.

Attempted to read or write protected memory. This is often an indication that other memory is corrupt.  (znam i ja prevest, ali pitam zasto se dogodilo)

Hvala

Potpis
Moj PC  
0 0 hvala 0
16 godina
odjavljen
offline
Re: C# - Problemi i rješenja
Srednjoskolac2med kaže...
...

Umjesto MSSQLa koristi SQLite - single file SQL bazu koja ne treba server. Jedini je problem što je samo taj PC može koristiti - da bi ju koristilo više računala, moraš ju ili staviti u shareani folder (tu onda moraš riješit problem sa lockanjem zapisa) ili staviš MSSQL/MySQL server.

 

Nego, da ja vas pitam - znam da nitko ne voli Mono ni MonoDevelop ali jel možda netko slučajno zna kako ovo ubaciti kao referencu? To je widget za DataGridView (kojeg inače nema) i za 2D grafove. Zgodno stvarčica ali ja nikako skužiti kako to ubaciti u projekt. Nisam na Linuxu nego na Windowsima 7.

http://nighthawk-software.blogspot.com/
14 godina
neaktivan
offline
Re: C# - Problemi i rješenja
Luka Ivanković kaže...

moje gluposti

sredio sam, na krivom mjestu sam zatvorio pa se u memoriju previse puta loado sliku (1200  puta u sekundi), svejedno hvala

Potpis
14 godina
neaktivan
offline
C# - Problemi i rješenja

Pozdrav. Odlučio sam naučiti C#, nemam baš neka velika iskustva s programiranjem pa se nadam da to neće biti neka velika prepreka kod učenja ovog jezika(?). Sad mi je najveći problem IDE... Visual Studio se plaća koliko vidim pa jel mi možete reći koji da si skinem/koristim. 

 

Za knjige sam prvo odabrao ovo
http://www.amazon.com/Beginning-Visual-2010-Wrox-Programmer/dp/0470502266 

pa ću preći na 
http://www.amazon.com/Pro-NET-Framework-Professional-Apress/dp/1430242337

Yay or nay?

Playing a game for its graphics is like watching porn for its storyline.
 
0 0 hvala 0
16 godina
odjavljen
offline
Re: C# - Problemi i rješenja

Svaki Visual Studio ima Express inačicu koja je besplatna. Uzmi VS2012 Express.

 

Što se tiče knjiga, ovu prvu nemoj nego nađi Beginner's C# od Wroxa pa onda ovu drugu (ili Professional C# od Wroxa). Ili Head First C# (odličan serijal knjiga, baš za početnike).

 

[edit] - koji sam ja idiot, link iznad je ispravan, ja sam nešto krivo razumio {#}. Prva knjiga je ok, umjesto druge stoji preporuka za ovu gore navedenu a kao zamjena za prvu može poslužiti ova Head First. Isprike zbog brzanja Smijeh

http://nighthawk-software.blogspot.com/
Poruka je uređivana zadnji put sub 22.12.2012 17:35 (Sum_of_all_fears).
14 godina
neaktivan
offline
Re: C# - Problemi i rješenja

Već sam i instalirao Express inačicu i odmah mi se pojavio prozor u kojem je pisalo da je ovo trial verzija koja traje 30 dana pa me to zbunilo... Hvala. 

Playing a game for its graphics is like watching porn for its storyline.
Poruka je uređivana zadnji put sub 22.12.2012 16:02 (TheRunner).
16 godina
odjavljen
offline
Re: C# - Problemi i rješenja

Da, moraš se registrirati (besplatno) i dobiješ ključ na mail.

http://nighthawk-software.blogspot.com/
12 godina
neaktivan
offline
C# - Problemi i rješenja

Počeo sam učitit C# (prelazak s C++), i imam jedan problem. Zanima me kako da pozovem non - static metodu iz static Main - a

Success is the ability to go from one failure to the next without any loss of enthusiasm.
 
0 0 hvala 0
13 godina
neaktivan
offline
Re: C# - Problemi i rješenja

Konkretno?

Metod koji nije statički, pozivaš tako da instanciraš objekt klase čiji je to metod, pa onda pozoveš metod.

Da li pozivaš metod svoje klase ili iz .NET-a?

Recimo WriteLine je statički metod klase Console i ne trebaš instancirati objekt.

12 godina
neaktivan
offline
C# - Problemi i rješenja

Koristio sam svoju metodu koja se nalazi unutar iste klase s Main metodom. Kada sam instancirao klasu i onda pozvao metodu, proradilo je

Success is the ability to go from one failure to the next without any loss of enthusiasm.
 
0 0 hvala 0
12 godina
neaktivan
offline
C# - Problemi i rješenja

Pozdrav, imam problem koji mi zagorčava život posljednjih 3 dana, e ovako:

 

Imama DataGridView i imam neke unose, e sad mi je potrebno da nađem određeni string unešen u textbox i da mi prebroji koliko ima redova u datagridview sa tim određenim stringom, ja uspijem naći taj string, ali mi je problem prebrojati te redove.

 
0 0 hvala 0
16 godina
odjavljen
offline
Re: C# - Problemi i rješenja

Ovako nekako:

 

int brojac = 0;

foreach (DataGridRow in grid.Rows)

{

       if (row[stupac].Value.ToString() == neki_string)

       {

              brojac++

       }

       else{}

}

 

tako nekako, ovo je napamet napisano. DataRow ne možeš koristiti na gridu nego ti treba baš DataGridRow (mislim da se tako zove). Postoji i druga opcija - sa EFom pretraži datasource od grida i prebroji rezultate tog dataseta ili tablice. Ono gore možeš primjeniti direktno na DataTableu koji filla taj grid, samo ga prepravi na DataRow.

 

A možeš i prepraviti SELECT koji dohvaća rezultate za grid (ako koristiš SQL bazu) da dohvaća samo one retke koji imaju traženi string iz txtboxa i onda samo prebrojiš retke u DataTable.

 

Ako se grid puni na neki drugi način, možeš ga dumpati u novu DataTable ali to ti je sporo, komplicirano i šampionski Smijeh. Sve ti ovisi o tome odakle fillaš grid.

 

Ja imam sličan problemčić - DataAdapter napuni DataTable i prikaže ga u gridu. Retke u gridu treba pobojati ovisno o jednoj vrijednosti u retku... A pretraživač je parcijalni, google-like pa to ima tendenciju da se zablokira bez ikakvog posebnog razloga... Korisnik upisuje vrijednost u txtbox, dataadapter se spoji na sql server i sa %like% pretražuje 14 stupaca. Vrati vrijednost i nafilla grid. E sada bi trebalo pobojati redak ako jedan od stupaca (koji nije u ovih 14) ima vrijednost 1.

 

Kako je to poprilično spora operacija (if-anje u foreach petlji po cijelom gridu ili DTu, nebitno), aplikacija se smrzne kad korisnik počne tipkati dalje po txtboxu... Glup problem i ne pada mi na pamet ništa osim izdvanjanja bojanja u drugi thread i nekakav queue koji neće dati gridu da se refresha sa novim podacima dok "bojanje" ne završi. Katastrofa -.-

 

Na test bazi, samo slovo "d" povuče 1400 rezultata. Dok ovaj jadnik vidi koji od tih ima "1" u stupcu broj 19, user je već napisao "da" i eto novih ~900 rezultata za grid. Ovaj još nije ni prvih 300 provjerio...

http://nighthawk-software.blogspot.com/
Poruka je uređivana zadnji put pon 24.12.2012 21:19 (Sum_of_all_fears).
12 godina
neaktivan
offline
C# - Problemi i rješenja

Problem je što mi se datgridview puni sa podacima iz textboxsova, i snima u bazu podataka, eh sad nema ograničenja, znači u pitanju su osobe koje se unose sa JMBG i znači može samo jedan user ali može se unositi više puta jedan user, tj. što hoću da kažem ako user ne postoji u datagridview treba da izbaci njegove podatke i da piše da je prijavljen, a ako već postoji da piše odjavljen, i tako da se ponavlja, zao sam zamislio da prebrojim korisnika u datagridview i da za svaki neparni broj kaže prijavljen, a za paran odjavljen, nadam se da si skontao šta pišem, jer i meni nije baš najjasnije :).

 

Ovako mi ide do sada i funkcioniše samo 1 i 2 puta, a za ostale ne, jer svaki idući put pše mi da je odjavljen.

 

bool jmbgRadnika = false;
                foreach (DataGridViewRow red in DGVPrijavaOdjava.Rows)
                {
                    string radnikLogiran = Convert.ToString(red.Cells[1].Value);
                    if (radnikLogiran == txtJMBGRadnika.Text)
                    {
                        jmbgRadnika = true;
                    }
                }
                if (jmbgRadnika)
                {
                    DGVPrijavaOdjava.Rows.Add(odjavljen, txtJMBGRadnika.Text, txtImeRadnika.Text, txtPrezimeRadnika.Text, lblVrijeme.Text);
                    vrijemeOdjava.InsertOdjavaByJMBG(lblVrijeme.Text, lblDatum.Text, txtJMBGRadnika.Text);
                }
                else
                {
                    DGVPrijavaOdjava.Rows.Add(prijavljen, txtJMBGRadnika.Text, txtImeRadnika.Text, txtPrezimeRadnika.Text, lblVrijeme.Text);
                    vrijemePrijava.InsertPrijavaByJMBG(lblVrijeme.Text, lblDatum.Text, txtJMBGRadnika.Text);

                }

 

Hvala na brzom odgovoru ;)

 
0 0 hvala 0
12 godina
neaktivan
offline
Re: C# - Problemi i rješenja
Sum_of_all_fears kaže...

Ovako nekako:

 

int brojac = 0;

foreach (DataGridRow in grid.Rows)

{

       if (row[stupac].Value.ToString() == neki_string)

       {

              brojac++

       }

       else{}

}

int brojac = 0;
                foreach (DataGridViewRow row in DGVPrijavaOdjava.Rows)
                {
                    if (row.Cells[1].Value.ToString() == txtJMBGRadnika.Text)
                    {
                        brojac++;
                    }
                }
                if (brojac % 2 == 0)
                {
                    DGVPrijavaOdjava.Rows.Add(prijavljen, txtJMBGRadnika.Text, txtImeRadnika.Text, txtPrezimeRadnika.Text, lblVrijeme.Text);
                }
                else
                {
                    DGVPrijavaOdjava.Rows.Add(odjavljen, txtJMBGRadnika.Text, txtImeRadnika.Text, txtPrezimeRadnika.Text, lblVrijeme.Text);
                }

 

Hvala ti riješio sam..HVala pravi si:)

16 godina
odjavljen
offline
C# - Problemi i rješenja

Ajmo gospodo, bilo bi dosta prežderavanja sa tim odojcima, imajte milosti Smijeh. Treba netko nešto i raditi u ovoj državi. Od 27.12 kreće probno fiskalizacija, neki (MSGW-Ugowin-GRC-tko već) su isporučili update za svoju kasu, na računima već piše "Kasa nije fiskalizirana" i prazno nakon "JIR" (očekuje se ista situacija narednih mjesec dana ako je za vjerovati pričama o "pripremljenosti" porezne).

 

Na stranu o veseljima sa fiskalizacijom, ja imam jedan problem - gore sam već pisao ali nitko me nije doživio (možda zato jer je bio Badnjak/Božić?). Ja ću izgleda doktorirati pretraživače i GridViewe -.-

 

Dakle, DataAdapter napuni DataTable i prikaže ga u gridu. Retke u gridu treba pobojati ovisno o jednoj vrijednosti u retku... A pretraživač je parcijalni, google-like pa to ima tendenciju da se zablokira bez ikakvog posebnog razloga... Korisnik upisuje vrijednost u txtbox, dataadapter se spoji na sql server i sa %like% pretražuje 14 stupaca. Vrati vrijednost i nafilla grid. E sada bi trebalo pobojati redak ako jedan od stupaca (koji nije u ovih 14) ima vrijednost 1.

 

Kako je to poprilično spora operacija (if-anje u foreach petlji po cijelom gridu ili DTu, nebitno), aplikacija se smrzne kad korisnik počne tipkati dalje po txtboxu... Glup problem i ne pada mi na pamet ništa osim izdvanjanja bojanja u drugi thread i nekakav queue koji neće dati gridu da se refresha sa novim podacima dok "bojanje" ne završi. Katastrofa -.-

 

Na test bazi, samo slovo "d" povuče 1400 rezultata. Dok ovaj jadnik vidi koji od tih ima "1" u stupcu broj 19, user je već napisao "da" i eto novih ~900 rezultata za grid. Ovaj još nije ni prvih 300 provjerio...

 

Jel netko ima neki smisleni prijedlog ili čak rješenje?

http://nighthawk-software.blogspot.com/
Moj PC  
0 0 hvala 0
17 godina
odjavljen
offline
Re: C# - Problemi i rješenja
Sum_of_all_fears kaže...

Ajmo gospodo, bilo bi dosta prežderavanja sa tim odojcima, imajte milosti Smijeh. Treba netko nešto i raditi u ovoj državi. Od 27.12 kreće probno fiskalizacija, neki (MSGW-Ugowin-GRC-tko već) su isporučili update za svoju kasu, na računima već piše "Kasa nije fiskalizirana" i prazno nakon "JIR" (očekuje se ista situacija narednih mjesec dana ako je za vjerovati pričama o "pripremljenosti" porezne).

 

Na stranu o veseljima sa fiskalizacijom, ja imam jedan problem - gore sam već pisao ali nitko me nije doživio (možda zato jer je bio Badnjak/Božić?). Ja ću izgleda doktorirati pretraživače i GridViewe -.-

 

Dakle, DataAdapter napuni DataTable i prikaže ga u gridu. Retke u gridu treba pobojati ovisno o jednoj vrijednosti u retku... A pretraživač je parcijalni, google-like pa to ima tendenciju da se zablokira bez ikakvog posebnog razloga... Korisnik upisuje vrijednost u txtbox, dataadapter se spoji na sql server i sa %like% pretražuje 14 stupaca. Vrati vrijednost i nafilla grid. E sada bi trebalo pobojati redak ako jedan od stupaca (koji nije u ovih 14) ima vrijednost 1.

 

Kako je to poprilično spora operacija (if-anje u foreach petlji po cijelom gridu ili DTu, nebitno), aplikacija se smrzne kad korisnik počne tipkati dalje po txtboxu... Glup problem i ne pada mi na pamet ništa osim izdvanjanja bojanja u drugi thread i nekakav queue koji neće dati gridu da se refresha sa novim podacima dok "bojanje" ne završi. Katastrofa -.-

 

Na test bazi, samo slovo "d" povuče 1400 rezultata. Dok ovaj jadnik vidi koji od tih ima "1" u stupcu broj 19, user je već napisao "da" i eto novih ~900 rezultata za grid. Ovaj još nije ni prvih 300 provjerio...

 

Jel netko ima neki smisleni prijedlog ili čak rješenje?

 

Prvo budi siguran da ti je tablica pravilno indeksirana. Sa dobrim indeksima pretraživanje goleme količine podataka nije nikakav problem. Ono što je problem (a to si već sam uočio) je stopiranje već pokrenute pretrage onog trena kad se filter promjenio. Ono što ti sigurno može pomoći je pretraživanje DataTable objekta umjesto %like% na sql-u. Dakle pretraživat ćeš po memoriji klijenta umjesto pokretanja query-ja na serveru. DataTable ima Select metodu pa provjeri.

E sad, i dalje ostaje problem zaustavljanja već pokrenute pretrage. Preporučam ti da posao odradiš sa Task klasom. U metodu za pretragu proslijedi CancelationToken i provjeravaj njegovo stanje npr unutar for petlje. Ako je zatražen prekid (zbog promjenjenog filtera) samo izleti van iz metode i pokreni ju opet sa novim filterom (koristeći isti Task objekt). Na taj način ti textbox neće biti blokiran (pretraga se vrši u drugom threadu) i moći ćeš vrlo brzo prekinuti pretragu.

Ako budeš i dalje imao problem daj malo više nekih detalja pa ćemo naći način da to riješimo.

Freak Show Inc.
16 godina
odjavljen
offline
Re: C# - Problemi i rješenja

Task je u .net 4 i višem? Ja sam na 3.5.

Što se tiče samog pretraživanja, sql upit je samo za 4 uvjeta - prefiks, ime, srednje ime, prezime sa like operatorom. Mislim da to nije problem.

Kao što ti kažeš, idući filter je taj 0 ili 1 koji tražim u DTu na određenom stupcu i on određuje boju retka.

To ću preselit u novi thread pa ćemo vidjet kako to radi. Tnx na savjetu!

 

[edit] sad vidim da sam gore napisao da ih pretražuje 14. Nije ih toliko, samo su 4. U DT ih vrati 19 u grid i br.17 je taj sporni 1 ili 0 koji ne ovisi o txtboxu tj. nije bitan za pretragu nego je samo uvjet za bojanje retka.

http://nighthawk-software.blogspot.com/
Poruka je uređivana zadnji put sri 26.12.2012 12:53 (Sum_of_all_fears).
16 godina
odjavljen
offline
C# - Problemi i rješenja

Isprike na double postu ali imam problem

 

Cross-thread operation not valid: Control 'partner_grid' accessed from a thread other than the thread it was created on. Ne dozvoljava mi mijenjati grid jer je stvoren u drugom threadu... Negdje je glup propust ali ja ne vidim di

 

public static Thread search_sql_thread;
        public static Thread search_grid_thread;

        public static ManualResetEvent mr1 = new ManualResetEvent(false);

        private void textBox2_TextChanged(object sender, EventArgs e)
        {
            search_sql_thread = new Thread((ThreadStart)delegate
                {
                    DataTable sql_dt = new DataTable();
                    DataSet sql_ds = new DataSet();

                    SqlConnection sql_conn = new SqlConnection();
                    SqlCommand sql_cmd = new SqlCommand();
                    SqlDataAdapter sql_adapter = new SqlDataAdapter();

                    string select = String.Format("SELECT * from partneri_t WHERE ((prefiks LIKE '%{0}%') OR (ime LIKE '%{0}%') OR (srednje_ime LIKE '%{0}%') OR (prezime LIKE '%{0}%') OR (nastavak LIKE '%{0}%') OR (adresa LIKE '%{0}%'))", textBox2.Text);

                    try
                    {
                        postavke.ReadSetting();
                        sql_conn = new SqlConnection(postavke.connString);

                        sql_conn.Open();
                        sql_cmd = new SqlCommand(select, sql_conn);
                        sql_adapter = new SqlDataAdapter(sql_cmd);
                        sql_adapter.Fill(sql_ds);
                        sql_conn.Close();
                        sql_dt = sql_ds.Tables[0];
                    }
                    catch (Exception ex)
                    {
                        error_handler.ErrorText(ex.ToString(), "SQL SELECT error");
                        MessageBox.Show("SQL baza nedostupna!", "SQL Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    }

                    partner_grid.DataSource = sql_dt;
                    partner_grid.Columns[1].Visible = false;
                    partner_grid.Columns[2].Visible = false;
                    partner_grid.Columns[3].Visible = false;

                    partner_grid.Refresh();
                    mr1.WaitOne();
                });

          
            search_grid_thread = new Thread((ThreadStart)delegate
            {
                OznaciPartnere();
                mr1.Set();
            });

            search_sql_thread.Start();
            search_grid_thread.Start();
        }

        public void OznaciPartnere()
        {
            foreach (DataGridViewRow row in partner_grid.Rows)
            {
                string RowType = row.Cells[19].Value.ToString();

                if (RowType == "1")
                {
                    row.DefaultCellStyle.BackColor = Color.Yellow;
                    //row.DefaultCellStyle.ForeColor = Color.White;
                }
                else if (RowType == "0")
                {
                    //
                }
            }
        }

 

Dakle, pokupi string iz txtboxa, opali query "select", popuni grid, pogledaj tko u gridu ima "1" u stupcu 19 i pobojaj u žuto ako ima... Piece of cake. BTW, indexiranje je poprilično pomoglo. Da, znam, ADO.Net rules Smijeh

http://nighthawk-software.blogspot.com/
Moj PC  
0 0 hvala 0
17 godina
odjavljen
offline
Re: C# - Problemi i rješenja
Sum_of_all_fears kaže...

Isprike na double postu ali imam problem

 

Cross-thread operation not valid: Control 'partner_grid' accessed from a thread other than the thread it was created on. Ne dozvoljava mi mijenjati grid jer je stvoren u drugom threadu... Negdje je glup propust ali ja ne vidim di

 

Napamet ti ovo pišem...

 

 

MethodInvoker mi = delegate

{

//ovdje napraviš sa gridom što treba

};

this.BeginInvoke(mi);

 

Freak Show Inc.
Poruka je uređivana zadnji put sri 26.12.2012 15:19 (Friday).
16 godina
odjavljen
offline
Re: C# - Problemi i rješenja

Crossthread riješen ali i dalje se krši... Jesam gore sve dobro posložio?

 

[edit] - krajnje isfrustriran bojicama i gridom, ubacio sam sleep na taktičko mjesto (sue me - ne freeza UI i radi ok Smijeh). Neka sačekaju tih 666 ms, ionako gube vrijeme na veće gluposti...

http://nighthawk-software.blogspot.com/
Poruka je uređivana zadnji put sri 26.12.2012 19:17 (Sum_of_all_fears).
17 godina
odjavljen
offline
Re: C# - Problemi i rješenja
Sum_of_all_fears kaže...

Crossthread riješen ali i dalje se krši... Jesam gore sve dobro posložio?

 

[edit] - krajnje isfrustriran bojicama i gridom, ubacio sam sleep na taktičko mjesto (sue me - ne freeza UI i radi ok Smijeh). Neka sačekaju tih 666 ms, ionako gube vrijeme na veće gluposti...

 

Šta se krši? Daj exception...

Freak Show Inc.
16 godina
odjavljen
offline
Re: C# - Problemi i rješenja

Evo, nakon malo prepravljanja, sve proradilo bez ikakvih treadova i sleepa

 

private void textBox2_TextChanged(object sender, EventArgs e)
        {
            // Parcijali search
            // pretražuje bazu ovisno o txtboxu

            SQLsearch(textBox2.Text);

                partner_grid.DataSource = sql_dt;
                partner_grid.Columns[1].Visible = false;
                partner_grid.Columns[2].Visible = false;
                partner_grid.Columns[3].Visible = false;
                partner_grid.Refresh();

                partner_grid.Columns[0].AutoSizeMode = DataGridViewAutoSizeColumnMode.DisplayedCells;
                partner_grid.Columns[4].AutoSizeMode = DataGridViewAutoSizeColumnMode.DisplayedCells;
                partner_grid.Columns[5].AutoSizeMode = DataGridViewAutoSizeColumnMode.DisplayedCells;
                partner_grid.Columns[6].AutoSizeMode = DataGridViewAutoSizeColumnMode.DisplayedCells;
                partner_grid.Columns[7].AutoSizeMode = DataGridViewAutoSizeColumnMode.DisplayedCells;

                OznaciPartnere();

        }

        public void SQLsearch(string text)
        {
            //Pretražuje bazu partnera ovisno o txtbox stringu
           
            sql_dt = new DataTable();
            sql_ds = new DataSet();

            SqlConnection sql_conn = new SqlConnection();
            SqlCommand sql_cmd = new SqlCommand();
            SqlDataAdapter sql_adapter = new SqlDataAdapter();

            string select = String.Format("SELECT * from partneri_t WHERE ((prefiks LIKE '%{0}%') OR (ime LIKE '%{0}%') OR (srednje_ime LIKE '%{0}%') OR (prezime LIKE '%{0}%') OR (nastavak LIKE '%{0}%') OR (adresa LIKE '%{0}%'))", text);

            try
            {
                postavke.ReadSetting();
                sql_conn = new SqlConnection(postavke.connString);

                sql_conn.Open();
                sql_cmd = new SqlCommand(select, sql_conn);
                sql_adapter = new SqlDataAdapter(sql_cmd);
                sql_adapter.Fill(sql_ds);

                sql_conn.Close();
                sql_dt = sql_ds.Tables[0];
            }
            catch (Exception ex)
            {
                error_handler.ErrorText(ex.ToString(), "SQL SELECT error");
                MessageBox.Show("SQL baza nedostupna!", "SQL Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }

        public void OznaciPartnere()
        {
            // boja u žuto ako je is_checked = true
            foreach (DataGridViewRow row in partner_grid.Rows)
            {
                if (row.Cells[19].Value != null)
                {
                    string RowType = row.Cells[19].Value.ToString();

                    if (RowType == "True")
                    {
                        row.DefaultCellStyle.BackColor = Color.Yellow;
                    }
                    else { }
                }
                else
                {
                }
            }
        }

Ima malenu zadršku dok poboja (manje od pola sekunde) ali radi bez problema. Pa eto, ako nekome zatreba nešto slično - ovo gore vam je provjereno rješenje. Friday, tnx svejedno.

 

A što se tiče exceptiona koji je bacao, bio je neki NullReference na grid tj. na row. Nakon što sam praktički sve napisao od nule, proradilo je.

http://nighthawk-software.blogspot.com/
17 godina
odjavljen
offline
Re: C# - Problemi i rješenja
Sum_of_all_fears kaže...

Evo, nakon malo prepravljanja, sve proradilo bez ikakvih treadova i sleepa

 

Čekaj, tebi ovo radi kad netko piše brzo? Npr 4-5 slova u sekundi...

Freak Show Inc.
16 godina
odjavljen
offline
Re: C# - Problemi i rješenja

Da, bez problema. Malo lagga (slova se ne pojavljuju odmah u txtboxu) ali radi... Laptop iz Moj PC, debug i release verzija.

http://nighthawk-software.blogspot.com/
17 godina
odjavljen
offline
Re: C# - Problemi i rješenja
Sum_of_all_fears kaže...

Da, bez problema. Malo lagga (slova se ne pojavljuju odmah u txtboxu) ali radi... Laptop iz Moj PC, debug i release verzija.

 

To je onda neka malecka baza, ili? Preporučam ti da koristiš isti sqcommand objekt i prije svakog queryja pozoveš Cancel() metodu. Na taj način će ti stopirati eventualno izvršavanej prošlog queryja. Iako mi je i dalje nejasno zašto to isto nisi napravio nad DataTable-om jer bi bilo neuporedivo brže.

Freak Show Inc.
16 godina
odjavljen
offline
Re: C# - Problemi i rješenja

7500 redova u partneri_t (bio sam ih poduplao za probu, radilo je isto bez breakanja). Query traje manje od sekunde (gdje bi vidio točno vrijeme?) na ovih 7500.

 

Ako radim na datatable (e sada jel misliš na upit ili traženje 1 ili 0 za boju?), hoće li biti problem proslijediti gridu infromaciju da redak n poboji u žuto?

 

BTW, očekujem da će se baza smanjiti jer ima podosta duplih kontakata (skupljeno iz 3 baze, neki se mogu obrisati ali to kad prođe zaključak godine, dakle od subote će možda biti samo ~2k kontakata).

 

[edit]

 

set statistics time on;
go
select * from partneri_t where
nastavak like '%d.o.o%'
go
set statistics time off;


SQL Server parse and compile time:
   CPU time = 0 ms, elapsed time = 10 ms.

(251 row(s) affected)

SQL Server Execution Times:
   CPU time = 110 ms,  elapsed time = 464 ms.
SQL Server parse and compile time:
   CPU time = 0 ms, elapsed time = 1 ms.

 


http://nighthawk-software.blogspot.com/
Poruka je uređivana zadnji put čet 27.12.2012 15:11 (Sum_of_all_fears).
17 godina
odjavljen
offline
Re: C# - Problemi i rješenja
Sum_of_all_fears kaže...

7500 redova u partneri_t (bio sam ih poduplao za probu, radilo je isto bez breakanja). Query traje manje od sekunde (gdje bi vidio točno vrijeme?) na ovih 7500.

 

Ako radim na datatable (e sada jel misliš na upit ili traženje 1 ili 0 za boju?), hoće li biti problem proslijediti gridu infromaciju da redak n poboji u žuto?

 

BTW, očekujem da će se baza smanjiti jer ima podosta duplih kontakata (skupljeno iz 3 baze, neki se mogu obrisati ali to kad prođe zaključak godine, dakle od subote će možda biti samo ~2k kontakata).

 

Ajd napišem ti od kuće, sada mi je nezgodno... Tebi radi jer si samo ti spojen na bazu. Šta kad počne 5-10 ili 50 judi odjednom tipkati imena pa SQL poludi?

Freak Show Inc.
16 godina
odjavljen
offline
Re: C# - Problemi i rješenja

Ajd kad stigneš, napravi, puno ti hvala. Neće 50, neće ni 10, troje je zaposlenika ali prihvaćam svaki savjet kako to ubrzati.

 

A da je kompletno pretraživanje preselit na klijenta? Dakle, sa select * from pokupiti u DataTable i onda tamo vršiti pretragu (like i traženje is_checked). Problem je u tome što klijenti variraju od 900mhz i 256MB do quad core sa 4GB. Onda bi rasteretio bazu.

 

Kad bi sve bilo kod klijenta, onda bi mi multi thread sigurno trebao. Jedan koji dohvati sve iz SQLa i drugi koji traži sve po tablici i trpa u grid.

http://nighthawk-software.blogspot.com/
17 godina
odjavljen
offline
Re: C# - Problemi i rješenja
Sum_of_all_fears kaže...

Kad bi sve bilo kod klijenta, onda bi mi multi thread sigurno trebao. Jedan koji dohvati sve iz SQLa i drugi koji traži sve po tablici i trpa u grid.

 

Ne treba ti poseban thread za dohvaćanje iz baze. Dohvatiš prvi puta i onda trčiš po DataTable-u. Onda ti čak ne treba ni thread za pretraživanje DataTable-a jer će ići vrlo brzo. Ali od kuće ti se javim sa nekim kvazi-rješenjem!

Freak Show Inc.
16 godina
offline
C# - Problemi i rješenja

Jesu li programi pisani za Windows 8 kompatibilni s Windows 7?

AC Milan - IL CLUB PIU' TITOLATO AL MONDO
Moj PC  
0 0 hvala 0
Nova poruka
E-mail:
Lozinka:
 
vrh stranice