Сохранение изменений в БД через DataGridView

104
14 февраля 2021, 02:20

Есть база данных, сделанная в MS Access, есть программа, которая должна по идее с данными в БД работать, но она не работает. По нажатию кнопки открывается окно с текстовыми полями, в которые вбиваются данные в таблице, в DataGridView новые данные отображаются но БД не обновляется. С удалением то же самое.

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace DataBase
{
    public partial class Rooms : Form
    {
        public Rooms()
        {
            InitializeComponent();
        }
        private void Form2_Load(object sender, EventArgs e)
        {
            // TODO: данная строка кода позволяет загрузить данные в таблицу "accessDataSet.Rooms". При необходимости она может быть перемещена или удалена.
            this.roomsTableAdapter.Fill(this.accessDataSet.Rooms);
        }
        private void Button1_Click(object sender, EventArgs e)
        {
            AddRoom f = new AddRoom();  
            if (f.ShowDialog() == DialogResult.OK) // отобразить форму
            {
                string Number, Type;
                Number = f.textBox1.Text;
                Type = f.comboBox1.Text;
                this.roomsTableAdapter.Insert(Number, Type);
                this.roomsTableAdapter.Fill(this.accessDataSet.Rooms);

            }
            }
        private void DataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e)
        {
        }
        private void Button4_Click(object sender, EventArgs e)
        {
        }
        private void Button3_Click(object sender, EventArgs e)
        {
            DelRoom d = new DelRoom();
            int RoomID;
            String Number, Type;
            int index;
            index = dataGridView1.CurrentRow.Index;
            RoomID = Convert.ToInt32(dataGridView1[0, index].Value);
            Number = Convert.ToString(dataGridView1[1, index].Value);
            Type = Convert.ToString(dataGridView1[2, index].Value);
            d.label2.Text = Number + "" + Type;
            if (d.ShowDialog() == DialogResult.OK)
            {
                roomsTableAdapter.Delete(RoomID, Number, Type);
                this.roomsTableAdapter.Fill(this.accessDataSet.Rooms);
            }
        }
    }
}
Answer 1

По книгам должно быть так

command.CommandText = "INSERT INTO Users (Name, Age) VALUES('Tim', 34)";
    command.ExecuteNonQuery();//вставка
 command.CommandText = "Delete from Users where USers.ID =" idUser;
        command.ExecuteNonQuery();//удаление

У Вас команды есть, а выполнение их скорее всего нет...

READ ALSO
Реализация функции

Реализация функции

Есть функция

147
Yii2 получить id не связанных записей

Yii2 получить id не связанных записей

Хочу получить все IDs не связанных записейНапример у меня есть 3 таблицы:

132
regexp взять meta теги php

regexp взять meta теги php

Пытаюсь взять мета-теги со страницы, в которых есть html разметка, например:

102
PHP не изменяется переменная

PHP не изменяется переменная

Проверял через консоль, что при обращении к этому коду через type=set&set=true isSending меняется на true, но если потом обратиться через type=get то переменная...

115