[ zenmorke @ 21.03.2008. 01:02 ] @
Imam 5 tabela sa one 2 many i many 2 many relations i imam sledeci problem.Na formi proizvodjac mi uspeva da uradim Update nad podacima,ali ne mogu da obrisem i dodam i problem mi je na drugoj formi frmProizvod gde je one 2 many,u tabeli proizvod imam spusten kljuc iz kategorije,tu mi treba pomoc kako uradim insert,a update i brisanje bih mogao da resim.Ako neko moze da mi pomogne sa nekim primerom gde ima koda bio bih mu vecno zahvalan.Gledam da zaobidjem automatski izgenerisane bindinSource-ove i ostalo i da uradim sa sto vise mog koda.Svaka sugesija je dobrodosla. Evo sta sam dosad uradio na formi Proizvodjac:
Code:

namespace TC
{
    public partial class frmProizvodjac : Form
    {
        string connString = @"Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\TC.mdf;Integrated Security=True;User Instance=True";
        SqlConnection conn;
        SqlDataAdapter da;
        SqlCommandBuilder cmb;
        public frmProizvodjac()
        {
            InitializeComponent();
        }
        /* 
        private void proizvodjacBindingNavigatorSaveItem_Click(object sender, EventArgs e)
        {
            this.Validate();
            this.proizvodjacBindingSource.EndEdit();
            this.proizvodjacTableAdapter.Update(this.tcDataSet1.Proizvodjac);

        }
         */
        private void frmProizvodjac_Load(object sender, EventArgs e)
        {
            // TODO: This line of code loads data into the 'tcDataSet1.Proizvodjac' table. You can move, or remove it, as needed.
            this.proizvodjacTableAdapter.Fill(this.tcDataSet1.Proizvodjac);
            Napuni();
            UpdateProizvodjac();
            //BrisiProizvodjac();
        }
        private void Napuni()
        {
            string select = "SELECT * FROM Proizvodjac";
            conn = new SqlConnection(connString);
            da = new SqlDataAdapter(select, conn);
            //DataSet ds = new DataSet();
            da.Fill(tcDataSet1, "Proizvodjac");
            DataTable dt = tcDataSet1.Tables["Proizvodjac"];
            proizvodjacDataGridView.DataSource = dt;
           // proizvodjacListBox.DataSource = dt;
           // proizvodjacListBox.DisplayMember = "Naziv";
            //txtID.DataBindings.Add("Text", ds, "Proizvodjac.ProizvodjacID");
          //  txtNaziv.DataBindings.Add("Text", dt, "Naziv");
            //bm = this.BindingContext[tcrDataSet1, "Proizvodjac"];
        }

        private void UpdateProizvodjac()
        {
            string select = " Select * From Proizvodjac";
            conn = new SqlConnection(connString);
            da = new SqlDataAdapter(select, conn);
            SqlCommand com = new SqlCommand(select, conn);
            da.SelectCommand = com;
            cmb = new SqlCommandBuilder(da);
            da.Fill(tehnocentarDataSet1, "Proizvodjac");
            //proizvodjacListBox.DataSource = tcDataSet1.Tables[0].DefaultView;
            //proizvodjacListBox.DisplayMember = "Naziv";

        }
        private void BrisiProizvodjac()
        {
            string select = " Select * From Proizvodjac";
            conn = new SqlConnection(connString);
            da = new SqlDataAdapter(select, conn);
            SqlCommand com = new SqlCommand(select, conn);
            da.DeleteCommand = com;
            cmb = new SqlCommandBuilder(da);
            da.Fill(tcDataSet1, "Proizvodjac");
            //proizvodjacDataGridView.DataSource = tcDataSet1.Tables[0].DefaultView;

        }

        private void btnDodaj_Click(object sender, EventArgs e)
        {

        }

        private void btnIzmeni_Click(object sender, EventArgs e)
        {
            da.Update(tcDataSet1, "Proizvodjac");
        }

        private void btnObrisii_Click(object sender, EventArgs e)
        {
            da.Update(tcDataSet1, "Proizvodjac");
        }

Hvala unapred


[Ovu poruku je menjao zenmorke dana 21.03.2008. u 02:16 GMT+1]

[Ovu poruku je menjao zenmorke dana 21.03.2008. u 04:19 GMT+1]

[Ovu poruku je menjao zenmorke dana 22.03.2008. u 07:16 GMT+1]
[ sivan347 @ 24.03.2008. 10:01 ] @
Kao prvo relacije many 2 many treba izbegavati i to tako sto ces dodati vezne tabele koje ce sadrzati samo foreign keys od vezujucih tabela. Drugo da bi radio insert recimo Proizvoda moras da imas spisak Kategorija recimo u nekoj padajucoj listi gde ce kao tekst biti naziv kategorije a value IDKategorije. Da bi korisnik uneo proizvod mora da izabere kategoriju kojoj taj proizvod pripada. Drugim recima za insert proizvoda treba ti IdKategoorije kojoj taj proizvod pripada. Trece resenje za brisanje proizvodjaca je da property veze izmedju proizvodjaca i proizvoda bude setovan na kaskadno brisanje cime ce baza automatski uraditi brisanje svih chaild redova.
Nadam se da sam ti bar malo pomogao.
[ zenmorke @ 24.03.2008. 19:48 ] @
@ Sivan347> Jeste pomoglo,mada sam ja tako sve uradio vec kako si naveo,ovo trece resenje mi je najzanimljive,bas mi to treba samo za proizvod!U svakom slucaju hvala ti puno!