problem z przegladaniem DataGirdView

0
private void montarze()
        {
            System.Data.OleDb.OleDbConnection con = new System.Data.OleDb.OleDbConnection(conn);


            con.Open();
            DataTable dt = new DataTable();
            int i = 0;
            for (; i < 100; i++)
            {

                if (dgvM[data.Text.ToString(), i].Value == null)
                {
                    string command1 = "INSERT INTO Montarze_I ([" + data.Text.ToString() +
                      "]) VALUES('" + Miasto_z.Text.ToString() + "')";

                    string command2 = "INSERT INTO Montarze_I ([" + data.Text.ToString() +
                  "]) VALUES('" + Targi.Text.ToString() + "')";

                    string command3 = "INSERT INTO Montarze_I ([" + data.Text.ToString() +
                  "]) VALUES('" + stoisko_z.Text.ToString() + "')";

                    OleDbDataAdapter sda1 = new OleDbDataAdapter(command1, con);
                    OleDbCommandBuilder cb1 = new OleDbCommandBuilder(sda1);
                    sda1.Fill(dt);
                    OleDbDataAdapter sda2 = new OleDbDataAdapter(command2, con);
                    OleDbCommandBuilder cb2 = new OleDbCommandBuilder(sda2);
                    sda2.Fill(dt);
                    OleDbDataAdapter sda3 = new OleDbDataAdapter(command3, con);
                    OleDbCommandBuilder cb3 = new OleDbCommandBuilder(sda3);
                    sda3.Fill(dt);
 MessageBox.Show("wstawiono po null");
                    break;
                   
                }
                else
                {

                    if ((dgvM[data.Text.ToString(), i].Value.ToString() == null) || (dgvM[data.Text.ToString(), i].Value.ToString() == "") || (dgvM[data.Text.ToString(), i].Value.ToString() == " "))
                    {
                        MessageBox.Show("Pusto");





                    }
                    else
                    {
                        if (dgvM[data.Text.ToString(), i].Value.ToString() == Miasto_z.Text)
                        {
                            i++;

                            if (dgvM[data.Text.ToString(), i].Value.ToString() == Targi.Text)
                            {
                                i++;

                                if (dgvM[data.Text.ToString(), i].Value.ToString() == stoisko_z.Text)
                                {
                                    MessageBox.Show("Stoisko Juz isteniej");
                                    break;
                                    
                                }
                                else
                                {
                                    string command3 = "INSERT INTO montarze ([" + data.Text.ToString() +
                                 "]) VALUES('" + stoisko_z.Text.ToString() + "')";

                                   OleDbDataAdapter sda = new OleDbDataAdapter(command3, con);
                                    OleDbCommandBuilder cb = new OleDbCommandBuilder(sda);
                                    sda.Fill(dt);
  MessageBox.Show("wstawiono stoisko");
                                    break;
                                  
                                }
                            }
                            else
                            {
                                string command2 = "INSERT INTO montarze ([" + data.Text.ToString() +
                                                "]) VALUES('" + Targi.Text.ToString() + "')";

                                string command3 = "INSERT INTO montarze ([" + data.Text.ToString() +
                              "]) VALUES('" + stoisko_z.Text.ToString() + "')";

                                OleDbDataAdapter sda2 = new OleDbDataAdapter(command2, con);
                                OleDbCommandBuilder cb = new OleDbCommandBuilder(sda2);
                                sda2.Fill(dt);
                                OleDbDataAdapter sda3 = new OleDbDataAdapter(command3, con);
                                OleDbCommandBuilder cb1 = new OleDbCommandBuilder(sda3);
                                sda3.Fill(dt);
  MessageBox.Show("wstawiono targi");
                                break;
                              

                            }
                        }
                        else
                        {
                            string command1 = "INSERT INTO montarze ([" + data.Text.ToString() +
                       "]) VALUES('" + Miasto_z.Text.ToString() + "')";

                            string command2 = "INSERT INTO montarze ([" + data.Text.ToString() +
                          "]) VALUES('" + Targi.Text.ToString() + "')";

                            string command3 = "INSERT INTO montarze ([" + data.Text.ToString() +
                          "]) VALUES('" + stoisko_z.Text.ToString() + "')";

                            OleDbDataAdapter sda1 = new OleDbDataAdapter(command1, con);
                            OleDbCommandBuilder cb1 = new OleDbCommandBuilder(sda1);
                            sda1.Fill(dt);
                            OleDbDataAdapter sda2 = new OleDbDataAdapter(command2, con);
                            OleDbCommandBuilder cb2 = new OleDbCommandBuilder(sda2);
                            sda2.Fill(dt);
                            OleDbDataAdapter sda3 = new OleDbDataAdapter(command3, con);
                            OleDbCommandBuilder cb3 = new OleDbCommandBuilder(sda3);
                            sda3.Fill(dt);
MessageBox.Show("wstawiono miasto");
                            break;
                            
                        }
                    }


                }

            }
        }

przy i=0 w if (dgvM[data.Text.ToString(), i].Value == null)wyskakuje mi blad

Indeks jest spoza zakresu. Musi mieć wartość nieujemną i mniejszą niż rozmiar kolekcji.
Nazwa parametru: index

w tej tabeli na razie nie ma zadnego wiersza. teoretycznie powinien w tym miejscu wstawic wszystkie 3 wartosci na MSSLQ ta procedura dzialala teras kicha??

0

A tak w dużym skrócie, to co chcesz osiągnąć? Widzę w kodzie, że coś źle robisz, ale nie wiem jaki ma być efekt końcowy...

pozdrawiaMM

0

idea procedury jest taka zeby wstawic dane do danej kolumny przy czym sa 3 nazwy miasto, targi, stoisko. i pewne zalerznosci jelsi tabel jast pusta nie ma zadnego rekordu, ws6tawiamy Od razu wszystkie 3, jesli w kolumnie istnieje podane miasto spawdza czy sa dane targi jesli nie to wstawia za miastem targi i stoisko jesli sa sprawdza czy jest dane stoisko jesli tak nic nie robi jesli nie wstawia za targami dane stoisko. nalezy uwzglednic tez wypadek gdy w w tabeli istnieja jzu jakies dane i np ciag wierszy miasto,targi,stoisko w kolumnie istnieje gdziej nizej np od 50 wiersza, wiec trzbe przejrzec wszystkie wiersze w kolumnie zanim zacznie sie wstawianie.

0

prawie tamto jest z baza sql to teras access tamto dziala a to juz nie.

0

A mógłbyś wrzucić schemat ER tej bazy na której chcesz wykonać te operacje ?

1 użytkowników online, w tym zalogowanych: 0, gości: 1