Autorius Tema: C# Local Database  (Skaityta 211 kartus)

Neprisijungęs doncevas

  • Naujokas
  • *
  • Įrašai: 1
  • Karma: +0/-0
    • Žiūrėti profilį
C# Local Database
« Įrašytas: 2014-08-24 17:56:16 pm »
Sveiki
Esu zalias ant C# pradinukas :)
Rasau viena programa ir susiduriau su problemele kuri koda geriau naudoti
Pirmas varijantas :
// Cia isima is db jau sudetus duomenis viduje duombazes;
 int rez = 0;


            using (SqlCeConnection con = new SqlCeConnection(Properties.Settings.Default.dbConnectionString))// Sukuriamas db prisijungimo objektas
            {
                con.Open();//Atidaroma DB

                using (SqlCeCommand com = new SqlCeCommand("select SUM(priedai) as priedu_suma from duomenys", con))//Sukuriamas db nuskaitymo objektas
                {
                    SqlCeDataReader reader = com.ExecuteReader();//Iskvieciamas metodas reader
                    reader.Read();//Nuskaitomi db duomenys, nurodyti reader objekto parametruose

                    try
                    {
                        rez = reader.GetInt32(0);// priskiriami nuskaityti duomenys i kitanmaji rez.
                        // cia nulis imamas, nes jeigu atlieki uzklausa, tai pirmas stulelis ir isveda priedu suma.

                    }
                    catch (SqlNullValueException){
              MessageBox.Show("Duomenu baze tuscia");
            }
                     con.Close();// uzdaroma db
                }
            }

   
2 Varijantas:
//Sitam varijante ima kiekviena stulpelio eilute ir sumuoja;
     private int dbsuma(int b)//metodas sumuojantis 'duomenys' db stulpelio duomenis
        {
            int sum = 0;
            int sum1 = 0;
           
            for (int i = 0; i < duomenysDataGridView.Rows.Count; ++i)
            {
                try { sum1 = Convert.ToInt32(duomenysDataGridView.Rows.Cells.Value);
                sum += sum1;
                }
                   
                catch (InvalidCastException)
                {
                    sum1 = 0;
                    sum += sum1;
                }
                 
 
            }
            return sum;
        }
          private void skaiciuoti_Click(object sender, EventArgs e)
        {
            int nsum = dbsuma(1);
            label4.Text = nsum.ToString();// isvedami duomenys vartotojui
        }

    }
Taigi klausimas kuris varijantas butu efektyvesnis ar kuri geriau naudoti?

Neprisijungęs Lukas Liesis

  • Administratorius
  • Herojus
  • ******
  • Įrašai: 7439
  • Karma: +231/-15
    • Žiūrėti profilį
    • mano CV
Ats: C# Local Database
« Atsakymas #1 Įrašytas: 2014-08-26 09:04:49 am »
su C# praktiskai nieko nedarau nebent sita (http://sourceforge.net/projects/get-automouser/) tai daug nepasakysiu, bet jei nori ismatuoti kodo efektyvuma, tai siulau pasigooglint kaip tavo programavimo kalboj yra skaiciuojama kiek laiko vykdomas skrtipas ir isprintinti ta skaiciu (atkreipk demesi, kad ten gali buti nano, micro ar mili sekundes), taip pat turetu buti funkcijos, kurios parodo kiek naudojai RAM, C# kalboje gal yra dar ir kiek CPU. Tai pagal visa tai galesi padaryti isvadas, kai turesi konkrecius skaicius. Taip pat nenustebciau, jei tie skaiciai stipriai skirtusi nuo to, kokiame PC su kokia OS butu paleista ta programa.

Bendrai paemus, kai reikalinga duombaze, imciau SQL tipo duombaze. buna modifikacijos kur nereikalauja SQL serverio, naudoja tiesiog failus, pvz SQL lite atrodo tai daro, niekad praktiskai nenaudojau. Visad dirbu su MySQL duombaze arba jei reikia kazko extremalaus, tai nosql koki nors sprendima: elasticsearch ar mongodb. Bet tau tikriausiai nosql'u nereikes, ten duomenys saugomi ne lentomis, bet dokumentais. Nera taip patikima kaip sql, todel dazniausiai nosql duombazes naudojamos kaip cache'avimo layer'is..

zodziu pasigooglink kaip mysql gali naudoti kartu su C# kodu, jei jau reikia tau duomenu bazes.

gal sitas pades:
http://dev.mysql.com/doc/connector-odbc/en/connector-odbc-examples-programming-net-csharp.html

« Paskutinį kartą keitė: 2014-08-26 09:09:44 am sukūrė Lukas Liesis »
Jūsų draugas, kolega ir puslapio administratorius,

Lukas.

Manualai.lt Facebooke
serveriai.lt 50% nuolaida!
Free Hosting
Free Templates

Manualai.lt Forumas

Ats: C# Local Database
« Atsakymas #1 Įrašytas: 2014-08-26 09:04:49 am »