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

SQL baza, modifikacija, C#

[es] :: .NET :: .NET Desktop razvoj :: SQL baza, modifikacija, C#

[ Pregleda: 2233 | Odgovora: 6 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

snegab

Član broj: 93641
Poruke: 28
77.46.142.*



Profil

icon SQL baza, modifikacija, C#31.10.2007. u 12:19 - pre 200 meseci
Imam bazu koja se zove Veleprodaja i polja sifraproizvoda, nazivproizvoda, kolicina. Baza nema primarni kljuc. Bazu punim na dve strane. Od strane dobavljaca i od strane kupca. Kako da kad mi se pojavi na primer kod dobavljaca ista sifraproizvoda, da modifikujem samo vrstu u kojoj je postojeca sifraproizvoda (znaci da ne dodajem novu vrstu) tj. da zamenim postojecu vrednost kolicine tako sto cu na nju dodati vrednost te sto treba, a kad kod kupca vrsim upis za takodje postojecu sifruproizvoda, da modifikuje vrednost samo za kolicinu tako sto ce postojecu vrednost u bazi umanjiti za vrednost koju treba.
 
Odgovor na temu

TheBatA
Miljan Komatina
Senior software developer, QUANTUM -
AutoMARKET
Beograd

Član broj: 25309
Poruke: 64
80.93.242.*

Sajt: www.AutoMARKET.rs


Profil

icon Re: SQL baza, modifikacija, C#31.10.2007. u 14:36 - pre 200 meseci
Napravi dve metode:
Prva:izvršava UPDATE komandu koja će da izvrši izmenu količine za određenu šifru proizvoda
Druga: izvršava INSERT komandu za novu šifru proizvoda.

Prvo pretpostaviš da postoji artikal, pa pokreneš UPDATE komandu i ispitaš vrednost koju ti vrati komanda.ExecuteNonQuery().

Ukoliko je ova vrednost nula, znači da ne postoji ta šifra proizvoda i u tom slučaju pokrećeš INSERT komandu.

Jasno?
Ashes to ashes - dust to dust. Zejtin to ulje - mast to mast.
 
Odgovor na temu

snegab

Član broj: 93641
Poruke: 28
77.46.142.*



Profil

icon Re: SQL baza, modifikacija, C#31.10.2007. u 17:19 - pre 200 meseci
I nije mi bas nesto najjasnije, jel bi mogao da mi objasnis preko koda?
 
Odgovor na temu

TheBatA
Miljan Komatina
Senior software developer, QUANTUM -
AutoMARKET
Beograd

Član broj: 25309
Poruke: 64
80.93.242.*

Sajt: www.AutoMARKET.rs


Profil

icon Re: SQL baza, modifikacija, C#31.10.2007. u 18:47 - pre 200 meseci
Evo ti jedna metoda na brzaka, pa se igraj malo sa modifikovanjem i prilagođavanjem. Ovo je neka logika kojom bih ja to uradio.

Code:

        private void NapuniBazu()
        {
            string konekcioniString = ""; 

            SqlConnection konekcija = new SqlConnection(konekcioniString);

            int kolicina = 0;  
            int sifra = 0; 
            string naziv = ""; 
            int rezultat = 0;

            using (SqlCommand komanda = new SqlCommand())
            {
                komanda.Connection = conn;
                string updateString = "UPDATE Veleprodaja SET kolicina=@kolicina WHERE sifraproizvoda = @sifraproizvoda"; 
                string insertString = "INSERT INTO Veleprodaja(sifraproizvoda, nazivproizvoda, kolicina) 
                                             VALUES (@sifraproizvoda,@naziv, @kolicina)";
                
                komanda.CommandText = updateString;

                komanda.Parameters.AddWithValue("@kolicina", kolicina);
                komanda.Parameters.AddWithValue("@sifraproizvoda", sifra);
                try
                {
                    konekcija.Open();
                    rezultat = komanda.ExecuteNonQuery();
                    if (rezultat = 0)
                    {
                        komanda.CommandText = insertString;
                        
                        komanda.Parameters.Clear();
                        komanda.Parameters.AddWithValue("@kolicina", kolicina);
                        komanda.Parameters.AddWithValue("@sifraproizvoda", sifra);
                        komanda.Parameters.AddWithValue("@naziv", naziv);

                        komanda.ExecuteNonQuery();

                    }
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message);
                }

            }
        }

Ashes to ashes - dust to dust. Zejtin to ulje - mast to mast.
 
Odgovor na temu

snegab

Član broj: 93641
Poruke: 28
77.46.142.*



Profil

icon Re: SQL baza, modifikacija, C#31.10.2007. u 21:36 - pre 200 meseci
Code:
private void NapuniBazu()
        {
            string konekcioniString = @"Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\bazaweldgas.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True";
            SqlConnection konekcija = new SqlConnection(konekcioniString);
            float kolicina = Convert.ToSingle(txtKol.Text) ;  
            int sifra = Convert.ToInt32(txtSP.Text); 
            string naziv = Convert.ToString(txtNazivP.Text);
            DateTime datum = Convert.ToDateTime(parent.dtpDatumFK.Text);
            int rezultat = 0;

            using (SqlCommand komanda = new SqlCommand())
            {
                komanda.Connection = konekcija;
                string updateString = "UPDATE VELNOVO SET KOLICINA=@kolicina WHERE SIFRAPROIZVODA = @sifraproizvoda";
                string insertString = "INSERT INTO VELNOVO(SIFRAPROIZVODA, NAZIVPROIZVODA, KOLICINA, DATUMFK) VALUES (@sifraproizvoda,@nazivproizvoda, @kolicina, @datumfk)";
                
                komanda.CommandText = updateString;

               //kolicina = Convert.ToSingle(dsVeleKup1.Tables["VELNOVO"].Rows["KOLICINA"]) - kolicina;

                komanda.Parameters.AddWithValue("@kolicina", kolicina);
                komanda.Parameters.AddWithValue("@sifraproizvoda", sifra);
                try
                {
                    konekcija.Open();
                    rezultat = komanda.ExecuteNonQuery();
                    if (rezultat == 0)
                    {
                        komanda.CommandText = insertString;
                        kolicina = 0 - kolicina;
                        komanda.Parameters.Clear();
                        komanda.Parameters.AddWithValue("@kolicina", kolicina);
                        komanda.Parameters.AddWithValue("@sifraproizvoda", sifra);
                        komanda.Parameters.AddWithValue("@nazivproizvoda", naziv);
                        komanda.Parameters.AddWithValue("@datumfk", datum);

                        komanda.ExecuteNonQuery();

                    }
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message);
                }

            }
        }


Sve mi radi kako sam zamislila, hvala ti puno! Jedino ako mozes da mi kazes kako da u ovom kodu sto sam stavila, kada vrsim UPDATE, da mi od kolicine iz baze oduzme novu kolicinu koju sam dodala, a ne da zamenjuje kako si ti uradio.
Ja sam stavila ovo, ali naravno nece da radi.

kolicina = Convert.ToSingle(dsVeleKup1.Tables["VELNOVO"].Rows["KOLICINA"]) - kolicina;



 
Odgovor na temu

TheBatA
Miljan Komatina
Senior software developer, QUANTUM -
AutoMARKET
Beograd

Član broj: 25309
Poruke: 64
80.93.242.*

Sajt: www.AutoMARKET.rs


Profil

icon Re: SQL baza, modifikacija, C#01.11.2007. u 16:54 - pre 200 meseci
Citat:

kolicina = Convert.ToSingle(dsVeleKup1.Tables["VELNOVO"].Rows["KOLICINA"]) - kolicina;


Ovo i ne može da radi!
Moraš da proslediš konkretnu ćeliju, a ne čitav red!

Navedeni kod bi trebalo da izgleda od prilike ovako:
Code:

kolicina = Convert.ToSingle(dsVeleKup1.Tables["VELNOVO"].Rows["ovde ubaciš red iz kojeg čitaš vrednost"]["KOLICINA"]) - kolicina;


Potrebno je da znaš id reda iz kojeg čitaš količinu i da ga, s' oproštenjem, staviš na navedeno mesto.

Ashes to ashes - dust to dust. Zejtin to ulje - mast to mast.
 
Odgovor na temu

snegab

Član broj: 93641
Poruke: 28
77.46.142.*



Profil

icon Re: SQL baza, modifikacija, C#01.11.2007. u 17:33 - pre 200 meseci
Znam da ne moze tako, samo sam ga stavila, jer nisam znala sta vise da stavim . Probala sam ja i onako da cita sa pozicije, ali nije hteo, nisam znala zasto i sad kad si mi kazao da tako uradim, probala sam ponovo i opet nije hteo i onda mi je sinulo da li sam izvrsila filovanje? Naravno nisam, mozak .
Sad je sve u redu radi kako sam zamislila!
Hvala ti puno!
Pozdrav!
 
Odgovor na temu

[es] :: .NET :: .NET Desktop razvoj :: SQL baza, modifikacija, C#

[ Pregleda: 2233 | Odgovora: 6 ] > FB > Twit

Postavi temu Odgovori

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