Премини към съдържанието
  • Добре дошли!

    Добре дошли в нашите форуми, пълни с полезна информация. Имате проблем с компютъра или телефона си? Публикувайте нова тема и ще намерите решение на всичките си проблеми. Общувайте свободно и открийте безброй нови приятели.

    Моля, регистрирайте се за да публикувате тема и да получите пълен достъп до всички функции.

     

Препоръчан отговор


Здравейте, не ми се искаше да се стига до тук и да занимавам други хора с моя проблем, но пробвах какво ли не и явно бъркам някъде... Имам база данни с шофьори в Microsoft Access, която е свързана с програмата и combobox, който е попълнем с имената от таблицата. БД съм я добавил и в visual studio-то в Data Sources. Напарвих бутон, който да добави нов шофьор, когато го запиша веднага се появява с Microsoft Access-a, но не и в Combobox-a, следователно и таблицата, която е в Data Sources не се ъпдетйва. Когато затворя програмата и я пусна наново директо си изтрива новия шофьор в Access-a и я връща както е била.  Явно при натискане на Save трябва да рефрешне таблицата и в Visual Studio-то, но не знам как да стане това.

Ето кода как съм попълним combox-a:

Цитат

 con = new OleDbConnection("Provider=Microsoft.ACE.Oledb.12.0;Data Source=transportDateBase.accdb");
            cmd = new OleDbCommand();
            con.Open();
            cmd.Connection = con;
            cmd.CommandText = "SELECT Name FROM Drivers";
            dr = cmd.ExecuteReader();

            while (dr.Read())
            {
                comboDriver.Items.Add(dr["Name"]);

            }
            con.Close();

Eто го и кода на бутона за добавяне на нов шофьор

Цитат

OleDbConnection conn = new OleDbConnection();
            conn.ConnectionString = ("Provider=Microsoft.ACE.Oledb.12.0;Data Source=transportDateBase.accdb");

            String Id = textID.Text;
            String Name = textName.Text;
            String Age = textAge.Text;
            String City = textCity.Text;

            OleDbCommand cmd = new OleDbCommand("INSERT into Drivers (Id, Name, Age, City) Values(@Id, @Name, @Age, @City)");
            cmd.Connection = conn;

            conn.Open();

            if (conn.State == ConnectionState.Open)
            {
                cmd.Parameters.Add("@Id", OleDbType.VarChar).Value = Id;
                cmd.Parameters.Add("@Name", OleDbType.VarChar).Value = Name;
                cmd.Parameters.Add("@Age", OleDbType.VarChar).Value = Age;
                cmd.Parameters.Add("@City", OleDbType.VarChar).Value = City;

                try
                {
                    cmd.ExecuteNonQuery();
                    MessageBox.Show("New Driver Added");
                    conn.Close();
                }
                catch (OleDbException ex)
                {
                    MessageBox.Show(ex.Source);
                    conn.Close();
                }

            }

Много ще съм благодарен ако някой ми помогне

Сподели този отговор


Линк към този отговор
Сподели в други сайтове

Проблемът е решен, елементарна грешка, която не съм забелязвал... Може да изтриете темата

Сподели този отговор


Линк към този отговор
Сподели в други сайтове

Добавете отговор

Можете да публикувате отговор сега и да се регистрирате по-късно. Ако имате регистрация, влезте в профила си за да публикувате от него.

Гост
Напишете отговор в тази тема...

×   Вмъкнахте текст, който съдържа форматиране.   Премахни форматирането на текста

  Разрешени са само 75 емотикони.

×   Съдържанието от линка беше вградено автоматично.   Премахни съдържанието и покажи само линк

×   Съдържанието, което сте написали преди беше възстановено..   Изтрий всичко

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • Добави ново...