C# - Problemi i rješenja izdvojena tema

poruka: 2.151
|
čitano: 705.728
|
moderatori: Lazarus Long, XXX-Man, vincimus
+/- sve poruke
ravni prikaz
starije poruke gore
17 godina
offline
Re: C# - Problemi i rješenja
Sum_of_all_fears kaže...

Nakon tjedan dana rada sa EFom došao sam do zaključka da taj framework neću ni pipnuti osim ako nešto ne mora biti gotovo u roku keks i ima bazu sa manje od 10 tablica. Ne možeš mi složiti query koji doslovce bezveze joina pola baze da bi pokupio frickin' user podatke na osnovu IDa! Query koji se inače ni ne primjeti se izvršava 4-5 sekundi.

Pa ako si dobro rijesio relacije i polinkao tablice, lazy load radi sve umjesto tebe. Ako ne, imas .Include pa spajaj kako hoces.

Rvat katolik!
16 godina
odjavljen
offline
Re: C# - Problemi i rješenja

Da, to vrijedi ako je baza napravljena kako treba a u većini slučajeva me dočeka neka Access baza koju se ne smije dirati tj. jedino što mogu je upsizing wizardom napraviti SQL bazu i to je to. Većinom radim na nekakvoj integraciji - aplikacije koje spajaju više izvora podataka (knjigovodstvo, upravljanje dokumentima, kontakti, mailovi, sync svega) na jedno mjesto pa je to malo problem.

 

Zadnji slučaj je uključivao 2 access baze, gmail i neku evidenciju radnog vremena u excelu. Kaos.

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

Da, to vrijedi ako je baza napravljena kako treba a u većini slučajeva me dočeka neka Access baza koju se ne smije dirati tj. jedino što mogu je upsizing wizardom napraviti SQL bazu i to je to. Većinom radim na nekakvoj integraciji - aplikacije koje spajaju više izvora podataka (knjigovodstvo, upravljanje dokumentima, kontakti, mailovi, sync svega) na jedno mjesto pa je to malo problem.

 

Zadnji slučaj je uključivao 2 access baze, gmail i neku evidenciju radnog vremena u excelu. Kaos.

Pa svejedno, zasto ti je tu EF problematican. Nije da ces sa njim pristupati Gmailu. Vjerujem da imas ogranicenje u poznavanju EF-a, a ne EF-u kao samom.

Rvat katolik!
16 godina
odjavljen
offline
Re: C# - Problemi i rješenja

Konkretno mogu reći za zadnji slučaj da je EF napravio tako loše upite da je strašno. Naravno da neću sa njim pristupat gmailu ali hoću bazi koja je nastala spajanjem gore spomenutih baza. Da bi se smanjilo opterećenje i broj komplikacija, sve tablice koje su u ovim bazama + par dodatnih su jednostavno kopirane u SQL. Tu nema puno mjesta za mudrovanje, nažalost.

 

Daleko od toga da EF ne valja (možda je u 4.0 bolji jer sam ja bio prisiljen koristiti 3.5) ali u nekim složenijim slučajevima jednostavno ne radi kako treba.

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

Konkretno mogu reći za zadnji slučaj da je EF napravio tako loše upite da je strašno. Naravno da neću sa njim pristupat gmailu ali hoću bazi koja je nastala spajanjem gore spomenutih baza. Da bi se smanjilo opterećenje i broj komplikacija, sve tablice koje su u ovim bazama + par dodatnih su jednostavno kopirane u SQL. Tu nema puno mjesta za mudrovanje, nažalost.

 

Daleko od toga da EF ne valja (možda je u 4.0 bolji jer sam ja bio prisiljen koristiti 3.5) ali u nekim složenijim slučajevima jednostavno ne radi kako treba.

 

Da, starije verzije EF-a su slagale katastrofa upite. Dio ekipe kod nas je radio na nekom web projektu i bilo im je čudno zašto procedura za logiranje traje jako dugo (glupa provjera username i pass u bazi). Ja pokrenuo profiler i imao šta vidjeti. EF je složio upit od brat-bratu 50 kilobajta. Bilo je po 30 joinova na iste tablice. Dakle sveopći kaos i trajanje upita od nekih 20-ak sekundi.

Ja i dan-danas za sve koristim Linq2SQL ili ADO.NET. Linq2SQL isto slaže dosta loše upite ali ako imaš tablicu manju od milijun recorda i dobre indekse boli te neka stvar. Za time critical stvari koristim ADO.NET i mislim da ću na toj kombinaciji ostati još dugo vremena...

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

Pozdrav, trebala bi mi mala pomoć:

imam formu u kojoj podatke zelim pokazati pomocu datagridview. Nemam bazu, ali imam klasu cije propertye zelim pokazati kao kolone-nasla sam da se to zove custom class i spojila. 

E sada, kako cu napraviti da se pritiskom na enter doda novi row i da mogu brisat i mijenjat upise? Trenutno se pritiskom na enter ne dogadja nista.Ovako izgleda moj kod:

 

 

 

public partial class Racun : Form

   {

     public Racun()

     {

       InitializeComponent();

     }

 

     private void button1_Click(object sender, EventArgs e)

     {

 

       int sum1 = 0, sum2 = 0, sum3 = 0;

 

       for (int i = 0; i < (dataGridView1.RowCount); i++)

       {

         {

           sum1 += Convert.ToInt32(dataGridView1.Rows[i].Cells[3].Value);

           sum2 += Convert.ToInt32(dataGridView1.Rows[i].Cells[4].Value);

           sum3 += Convert.ToInt32(dataGridView1.Rows[i].Cells[5].Value);

         }

         textBox1.Text = sum1.ToString();

         textBox2.Text = sum2.ToString();

         textBox3.Text = sum3.ToString();

 

       }

 

     }

     private void Racun_Load(object sender, EventArgs e)

     {

 

       List<RacunStavka> mydataList = new List<RacunStavka>();

       mydataList.Add(new RacunStavka());

       dataGridView1.DataSource = mydataList;

     }

 

 

   }

}

 

 

 

Trebam li to napraviti da imam tri buttona i onda pomocu njih to definirat (kako? :) ) ili nesto drugo?

 

Hvala

 
0 0 hvala 0
13 godina
neaktivan
offline
C# - Problemi i rješenja

Pozz....radim program vezan uz popis učenika(dz). Napravio sam u Ms Access bazu koju sam spojio (preko OleDbConnection-a).Podatke upisujem preko textboxova i drugih te sam to uspješno prikazao u putem DataGridView-a.No sad bi htio napraviti pretraživanje baze,ali nejde.Nšao sam par rješenja na netu i tu na forumu ali neznam dal ja  griješim ili drugo.Sad bi bio zahvalan da mi neko napiše primjer kako napraviti običan search iz DatagridViewa...

Ako je bitno (koristim MV c# 2010 express).

Hvala:P

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

Ne pretražuješ grid nego bazu.

 

SELECT * from ucenici WHERE ime_ucenika = 'nesto' OR prezime_ucenika = 'nesto' OR jmbg = 'jmbg'

 

Možeš i sa like operatorom pa napraviš da odmah ubacuje u grid dok tipkaš. Nakačiš ovako nešto na trazilica_txtbox (na Changed event)

 

SELECT * from ucenici WHERE ime_ucenika like '%nesto%' OR prezime_ucenika like '%nesto%'

 

Imašovdje jedan moj primjer.

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

Ma to majstore..puno hvala radi :DDD

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

Imam jedan problem koji se direktno ne tiče C#-a, ali ovdje je ekipa koja vjerovatno zna rješiti taj problem, pa neka i pitanje bude ovdje.

Od jutros mi VS, nakon build-a i pokretanja, ne pokreće novu verziju programa. Znači stalno pokreće zadnji build koji je bio u 10:43, ali datum stoji 21.4.2013, a to je zato što mi je bila pogrešna vremenska zona. Brisao sam sve osim vshost fajla iz Debug foldera, ali on opet nakon builda doda fajlove sa Date modified: 10:43 21.4.2013. Stavim i sutrašnji datum i za 7 dana, ali opet ista stvar.

Stvarno mi ide na živce jer sam danas na toj aplikaciji napravio dosta promjena.

 

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

Jesi napravio Build/Clean?

Kada lajavci laju onda završe ovako: http://i471.photobucket.com/albums/rr77/toropreto/2012-07-0813_30_07.gif
Moj PC  
1 0 hvala 1
13 godina
neaktivan
offline
Re: C# - Problemi i rješenja
TracerCPP kaže...

Jesi napravio Build/Clean?

Danas bar 100 puta, nakon restarta PC-a i Clean Solution, radi.

Hvala puno! {#}

15 godina
neaktivan
offline
Re: C# - Problemi i rješenja
copycat kaže...

Pozdrav, trebala bi mi mala pomoć:

imam formu u kojoj podatke zelim pokazati pomocu datagridview. Nemam bazu, ali imam klasu cije propertye zelim pokazati kao kolone-nasla sam da se to zove custom class i spojila. 

E sada, kako cu napraviti da se pritiskom na enter doda novi row i da mogu brisat i mijenjat upise? Trenutno se pritiskom na enter ne dogadja nista.Ovako izgleda moj kod:

 

 

 

public partial class Racun : Form

   {

     public Racun()

     {

       InitializeComponent();

     }

 

     private void button1_Click(object sender, EventArgs e)

     {

 

       int sum1 = 0, sum2 = 0, sum3 = 0;

 

       for (int i = 0; i < (dataGridView1.RowCount); i++)

       {

         {

           sum1 += Convert.ToInt32(dataGridView1.Rows[i].Cells[3].Value);

           sum2 += Convert.ToInt32(dataGridView1.Rows[i].Cells[4].Value);

           sum3 += Convert.ToInt32(dataGridView1.Rows[i].Cells[5].Value);

         }

         textBox1.Text = sum1.ToString();

         textBox2.Text = sum2.ToString();

         textBox3.Text = sum3.ToString();

 

       }

 

     }

     private void Racun_Load(object sender, EventArgs e)

     {

 

       List<RacunStavka> mydataList = new List<RacunStavka>();

       mydataList.Add(new RacunStavka());

       dataGridView1.DataSource = mydataList;

     }

 

 

   }

}

 

 

 

Trebam li to napraviti da imam tri buttona i onda pomocu njih to definirat (kako? :) ) ili nesto drugo?

 

Hvala

 

 

Pokušaj dodati ovo nisam probao u VS-u al ako stane samo citiraj pa cu pokusati

 

 private void dataGridView1_KeyDown(object sender, KeyPressEventArgs e)
        {
            if (e.KeyChar == 13)
            {
                DataGridViewRow row = new DataGridViewRow();
                dataGridView1.Rows.Add(row);
            }
        }

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

Zna li tko kako da "redove" za ComboBox u WinFormsu pokupim iz neke kolekcije ili arraya, umjesto da ih upisujem direktno u designeru.

 
0 0 hvala 0
17 godina
odjavljen
offline
Re: C# - Problemi i rješenja
TheAtomicMiner kaže...

Zna li tko kako da "redove" za ComboBox u WinFormsu pokupim iz neke kolekcije ili arraya, umjesto da ih upisujem direktno u designeru.

 

Iz liste (isto vrijedi i za array):

List<string> lista = new List<string>();
lista.Add("Prvi item");
lista.Add("Drugi item");
comboBox1.DataSource = lista;

 

"Ručno":

comboBox1.Items.Add("Prvi item");
comboBox1.Items.Add("Drugi item");

Freak Show Inc.
Poruka je uređivana zadnji put sub 27.4.2013 8:27 (Friday).
13 godina
neaktivan
offline
C# - Problemi i rješenja

Lijep pozzz....Trebala bi mi pomoć...točnije da mi neko objasni kako se ispravno objavljuje projekt(publish).Napravio sam program s bazom( ms access preko OleDbConnection-a )  koji ispravno radi na mom računalu.Ali kad taj program instaliram na drugom računalu ne može uspostaviti vezu sa bazom.Sad me zanima dali postoje nek posebne opcije kod publishiranja aplikacije ili trebam nešto mijenjati u samoj konekciji.

Bio bi puno zahvalan...:) 

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

Stavi bazu u isti folder sa .exeom (ili ju dodaj u resources).

 

Ja bi ju jednostavno stavio u isti folder sa samim programom i onda u conn stringu pišeš samo imebaze.mdb (ne cijelu putanju). Umjesto accessa, rađe uzmi sqlite...

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

 Heh  proradilo....stavio sam samo bazu.accdb u conn string i dodao u  folder s exe fileom...

Hvala :)

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

Kako da upisem sadrzaj listboxa u .txt file?

Napravio sam savefiledialog..

 

            Microsoft.Win32.SaveFileDialog saveFileDialog1 = new Microsoft.Win32.SaveFileDialog();
            saveFileDialog1.Filter = "Text (*.txt)|*.txt";
            saveFileDialog1.Title = "Save an text File";
            saveFileDialog1.ShowDialog();

            if (saveFileDialog1.FileName != "")
            {
                System.IO.FileStream fs =
                   (System.IO.FileStream)saveFileDialog1.OpenFile();
                fs.Close();

            }

http://www.bug.hr/forum/topic/softver-literatura-usluge/prodaja-knjige-hardware/103166.aspx
 
0 0 hvala 0
17 godina
odjavljen
offline
Re: C# - Problemi i rješenja
Intelovac123 kaže...

Kako da upisem sadrzaj listboxa u .txt file?

Napravio sam savefiledialog..

 

            Microsoft.Win32.SaveFileDialog saveFileDialog1 = new Microsoft.Win32.SaveFileDialog();
            saveFileDialog1.Filter = "Text (*.txt)|*.txt";
            saveFileDialog1.Title = "Save an text File";
            saveFileDialog1.ShowDialog();

            if (saveFileDialog1.FileName != "")
            {
                System.IO.FileStream fs =
                   (System.IO.FileStream)saveFileDialog1.OpenFile();
                fs.Close();

            }

 

npr:

 

            var lista = "";

            foreach (var item in listBox1.Items)
            {
                lista += item.ToString() + Environment.NewLine;
            }

            File.WriteAllText("C:\\lista.txt", lista);

Freak Show Inc.
14 godina
neaktivan
offline
Re: C# - Problemi i rješenja
Friday kaže...
Intelovac123 kaže...

Kako da upisem sadrzaj listboxa u .txt file?

Napravio sam savefiledialog..

 

            Microsoft.Win32.SaveFileDialog saveFileDialog1 = new Microsoft.Win32.SaveFileDialog();
            saveFileDialog1.Filter = "Text (*.txt)|*.txt";
            saveFileDialog1.Title = "Save an text File";
            saveFileDialog1.ShowDialog();

            if (saveFileDialog1.FileName != "")
            {
                System.IO.FileStream fs =
                   (System.IO.FileStream)saveFileDialog1.OpenFile();
                fs.Close();

            }

 

npr:

 

            var lista = "";

            foreach (var item in listBox1.Items)
            {
                lista += item.ToString() + Environment.NewLine;
            }

            File.WriteAllText("C:\\lista.txt", lista);

Stavio sam da user bira gdje ce sacuvati file

Kako da dobijem path or tog savefile :)

http://www.bug.hr/forum/topic/softver-literatura-usluge/prodaja-knjige-hardware/103166.aspx
Poruka je uređivana zadnji put čet 2.5.2013 10:09 (Intelovac123).
17 godina
odjavljen
offline
Re: C# - Problemi i rješenja
Intelovac123 kaže...
Friday kaže...
Intelovac123 kaže...

Kako da upisem sadrzaj listboxa u .txt file?

Napravio sam savefiledialog..

 

            Microsoft.Win32.SaveFileDialog saveFileDialog1 = new Microsoft.Win32.SaveFileDialog();
            saveFileDialog1.Filter = "Text (*.txt)|*.txt";
            saveFileDialog1.Title = "Save an text File";
            saveFileDialog1.ShowDialog();

            if (saveFileDialog1.FileName != "")
            {
                System.IO.FileStream fs =
                   (System.IO.FileStream)saveFileDialog1.OpenFile();
                fs.Close();

            }

 

npr:

 

            var lista = "";

            foreach (var item in listBox1.Items)
            {
                lista += item.ToString() + Environment.NewLine;
            }

            File.WriteAllText("C:\\lista.txt", lista);

Stavio sam da user bira gdje ce sacuvati file

Kako da dobijem path or tog savefile :)

 

Prvi parametar u File.WriteAllText ti je putanja. Iza ShowDialog() stavi onu foreach petlju koju sam ti napisao (i onu varijablu).

 

            Microsoft.Win32.SaveFileDialog saveFileDialog1 = new Microsoft.Win32.SaveFileDialog();
            saveFileDialog1.Filter = "Text (*.txt)|*.txt";
            saveFileDialog1.Title = "Save an text File";
            saveFileDialog1.ShowDialog();

            if (saveFileDialog1.FileName != "")
            {
               File.WriteAllText(saveFileDialog1.FileName, lista);
            }

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

Tako sam i ja pokusao i izbacuje gresku da je taj file koji kreiram "used by another procces"....

I samo stvori file i nista ne upise u njega.

http://www.bug.hr/forum/topic/softver-literatura-usluge/prodaja-knjige-hardware/103166.aspx
 
0 0 hvala 0
17 godina
odjavljen
offline
Re: C# - Problemi i rješenja
Intelovac123 kaže...

Tako sam i ja pokusao i izbacuje gresku da je taj file koji kreiram "used by another procces"....

I samo stvori file i nista ne upise u njega.

 

Čekaj, jel radiš sa streamom ili sa File.Write...?

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

Ovo ti radi 100%, samo pejstaj kod sebe:

 

            SaveFileDialog sfd = new SaveFileDialog();
            sfd.Filter = "Text (*.txt)|*.txt";
            sfd.Title = "Save an text File";

            sfd.ShowDialog();

            var lista = "";

            foreach (var item in listBox1.Items)
            {
                lista += item.ToString() + Environment.NewLine;
            }

            if (sfd.FileName != "")
            {
                File.WriteAllText(sfd.FileName, lista);
            }

Freak Show Inc.
 
1 0 hvala 1
14 godina
neaktivan
offline
Re: C# - Problemi i rješenja
Friday kaže...

Ovo ti radi 100%, samo pejstaj kod sebe:

 

            SaveFileDialog sfd = new SaveFileDialog();
            sfd.Filter = "Text (*.txt)|*.txt";
            sfd.Title = "Save an text File";

            sfd.ShowDialog();

            var lista = "";

            foreach (var item in listBox1.Items)
            {
                lista += item.ToString() + Environment.NewLine;
            }

            if (sfd.FileName != "")
            {
                File.WriteAllText(sfd.FileName, lista);
            }

Sada radi :)

http://www.bug.hr/forum/topic/softver-literatura-usluge/prodaja-knjige-hardware/103166.aspx
12 godina
neaktivan
offline
C# - Problemi i rješenja

Postoji li način da se u WinForms-u izvede slijedeće. Želim da se nakon klika na button promijeni sadržaj form-a, znači ne želim da otvara novi form nego želim da se klikom na button u taj isti form učitaju druge kontrole i druga pozadina form-a.

No matter how far we are, we are always looking at the same sky!
 
0 0 hvala 0
17 godina
odjavljen
offline
Re: C# - Problemi i rješenja
TheAtomicMiner kaže...

Postoji li način da se u WinForms-u izvede slijedeće. Želim da se nakon klika na button promijeni sadržaj form-a, znači ne želim da otvara novi form nego želim da se klikom na button u taj isti form učitaju druge kontrole i druga pozadina form-a.

 

Naravno!

 

Dakle, potrebno je samo nešto tipa

this.Controls[0] = new MojaNovaKontrola();

 

Onda još središ dock i takve stvari, jel...

 

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

Postoji li mogućnost da kod dragdrop eventa slika iz picruteboxa bude vidljiva dok vršim dragdrop operaciju slike iz jednog picturebox-a u drugi. 

 
0 0 hvala 0
17 godina
odjavljen
offline
Re: C# - Problemi i rješenja
Floki kaže...

Postoji li mogućnost da kod dragdrop eventa slika iz picruteboxa bude vidljiva dok vršim dragdrop operaciju slike iz jednog picturebox-a u drugi. 

 

Koliko vidim po netu čini mi se da nema out of the box rješenja...

 

Možda da napraviš malu formu koja hosta image i onda tu formu prikažeš poluprozirnu kad počne drag i napraviš da prati kursor. Kod dropa ju ubiješ. Hvatam se za slamke ali načelno bi trebalo raditi.

Freak Show Inc.
Nova poruka
E-mail:
Lozinka:
 
vrh stranice