Форум программистов, компьютерный форум, киберфорум
C#: Базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.78/18: Рейтинг темы: голосов - 18, средняя оценка - 4.78
0 / 0 / 1
Регистрация: 30.10.2013
Сообщений: 21

Изменить данные в бд

31.10.2013, 11:38. Показов 3369. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Привет всем! есть форма, в текстбоксы которой заносится информация по фильму (по нажатию на строку или ид в датагриде) и в тех текстбоксах ее можно редактировать. а потом нужно опять засунуть обновленные данные в датагрид. как это все сделать? как сделать чтоб данные показывались в текстбоксах, редактировались и сохранялись по нажатию кнопки?

вот есть код, но думаю он не заработает
C#
1
2
3
4
5
6
7
8
9
10
11
12
 {
                    SqlDataAdapter ada = new SqlDataAdapter();
                    ada.UpdateCommand = new SqlCommand(@"Update Films set Film_Name=@Film_Name, Film_Production=@Film_Production, Film_Genre=@Film_Genre", conn);
                    ada.UpdateCommand.Parameters.Add("@Film_Name", SqlDbType.NVarChar).SourceColumn = "Film_Name";
                    ada.UpdateCommand.Parameters.Add("@Film_Production", SqlDbType.NVarChar).SourceColumn = "Film_Production";
                    ada.UpdateCommand.Parameters.Add("@Film_Genre", SqlDbType.NVarChar).SourceColumn = "Film_Genre";
                    ada.InsertCommand = new SqlCommand(@"Insert into Films Values (@Film_Name, @Film_Production, @Film_Genre); Select @@IDENTITY as Id;", conn);
                    ada.InsertCommand.Parameters.Add("@Film_Name", SqlDbType.NVarChar).SourceColumn = "Film_Name";
                    ada.InsertCommand.Parameters.Add("@Film_Production", SqlDbType.NVarChar).SourceColumn = "Film_Production";
                    ada.InsertCommand.Parameters.Add("@Film_Genre", SqlDbType.NVarChar).SourceColumn = "Film_Genre";
                    ada.Update(CinemaDataSet.FilmsDataTable, "table11");
                }
Миниатюры
Изменить данные в бд  
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
31.10.2013, 11:38
Ответы с готовыми решениями:

Веб. Как изменить данные в базе по изменению данных инпута? Получить измененные данные инпута?
Доброго времени суток! Ситуация такая.. есть форма с таблицей, содержание таблицы выводится из базы. В таблице есть инпут ( <input...

Изменить данные
Какие ошибки в коде, меняет весь столбец, а не одно поле.. private void button4_Click(object sender, EventArgs e) { ...

Изменить данные
в БД есть столбец в которым есть данные вида: 1,7;0,5 (nvarchar) хочу превратить данные в тип time сделал, но в Excel, как сделать...

8
61 / 61 / 14
Регистрация: 06.10.2013
Сообщений: 133
31.10.2013, 13:42
А типы данных совпадают?
0
 Аватар для nio
6050 / 3460 / 336
Регистрация: 14.06.2009
Сообщений: 8,136
Записей в блоге: 2
31.10.2013, 13:48
Цитата Сообщение от cubcub Посмотреть сообщение
вот есть код, но думаю он не заработает
что-то мне подсказывает, что нужно всё-таки попробовать
0
0 / 0 / 1
Регистрация: 30.10.2013
Сообщений: 21
31.10.2013, 14:48  [ТС]
Не работает ( данные в текст боксах не отображаются (
0
61 / 61 / 14
Регистрация: 06.10.2013
Сообщений: 133
31.10.2013, 14:55
Скиньте проект. Посмотрим что можно сделать.
0
0 / 0 / 1
Регистрация: 30.10.2013
Сообщений: 21
31.10.2013, 15:29  [ТС]
Вот проект
Вложения
Тип файла: rar ppp3.rar (221.2 Кб, 11 просмотров)
0
61 / 61 / 14
Регистрация: 06.10.2013
Сообщений: 133
31.10.2013, 17:01
Добавляем правильную строку подключения. Обращаемся к базе данных.
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
        public SqlCeConnection connection;
        public SqlCeDataAdapter adapter;
        public DataTable table;
        public edit()
        {
            InitializeComponent();
            connection = new SqlCeConnection(@"Data Source=" + Application.StartupPath + @"\Cinema.sdf");
            adapter = new SqlCeDataAdapter("SELECT * FROM Films", connection);
            
        }
        private void edit_Load(object sender, EventArgs e)
        {
            try
            {
                connection.Open();
                FillGRID();
            }
            catch (SqlCeException ex)
            {
                MessageBox.Show(ex.Message);
            }
        }
 
        private void FillGRID()
        {
            table = new DataTable();
            adapter.Fill(table);
            dataGridView1.DataSource = table;
        }
 
        private void dataGridView1_SelectionChanged(object sender, EventArgs e)
        {
            textBox1.Text = dataGridView1.CurrentRow.Cells[1].Value.ToString();
            textBox2.Text = dataGridView1.CurrentRow.Cells[2].Value.ToString();
            textBox3.Text = dataGridView1.CurrentRow.Cells[3].Value.ToString();
        }
Для дальнейшего сохранения, нужно сохранить ключ. По этому ключу и будем обновлять базу.
Ключом выступает Film_ID. По нему и будем ориентироваться.

Добавлено через 43 минуты
C#
1
public int i;
Сохраняем ключ
C#
1
2
3
4
private void dataGridView1_SelectionChanged(object sender, EventArgs e)
        {
            i = (int)dataGridView1.CurrentRow.Cells[0].Value;
        }
Обновление базы данных.
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
private void save_Click(object sender, EventArgs e)
        {
            DialogResult dr = MessageBox.Show("Сохранить изменения?", "Сообщение системы", MessageBoxButtons.YesNo, MessageBoxIcon.Question);
            if (dr == DialogResult.Yes)
            {
                SqlCeCommand command = new SqlCeCommand("UPDATE Films SET Film_Name = @name, Film_Production = @nameprod, Film_Genre = @genre WHERE Film_ID = @id1", connection);
                command.Parameters.AddWithValue("@name", textBox1.Text);
                command.Parameters.AddWithValue("@nameprod", textBox2.Text);
                command.Parameters.AddWithValue("@genre", textBox3.Text);
                command.Parameters.AddWithValue("@id1", i);
                try
                {
                    command.ExecuteNonQuery();
                    FillGRID();
                }
                catch (SqlCeException ex)
                {
                    MessageBox.Show(ex.Message);
                }
            }
            else
            {
                MessageBox.Show("Отменено сохранение");
            }
        }
1
0 / 0 / 1
Регистрация: 30.10.2013
Сообщений: 21
31.10.2013, 17:36  [ТС]
C#
1
dataGridView1_SelectionChanged
в ключе и в текстбоксе совпадают, подчеркиваются серым, мол нигде не используются
0
61 / 61 / 14
Регистрация: 06.10.2013
Сообщений: 133
01.11.2013, 09:38
Скидываю урезанную версию. В программе реализована только процедура изменения и обновления.
Вложения
Тип файла: rar ppp3.rar (111.0 Кб, 46 просмотров)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
01.11.2013, 09:38
Помогаю со студенческими работами здесь

Изменить данные в БД
Как можно изменить данные в БД? например есть форма: <form id="myForm" action="/mb.php" method="post"> ...

Изменить данные БД
Пытаюсь изменить данные через DBGrid SimpleDataSet4.edit; SimpleDataSet4.FieldByName('Name').AsString := Edit7.Text; ...

Не удается изменить данные
подскажите пожалуйста почему у меня не работает изменение содержимого БД , вроде UPDATA правильно прописал в коде, написало что данные...

Как изменить данные в БД?
У меня вопрос. Мне надо изменить значение нескольких строк. Пытался сделать так: _con=new...

Изменить данные в массиве
Пример: const CASE = 10; char = {'Andrey', 'Bohdan', 'Anna'} Как перезаписать уже данное значение в массиве, к примеру...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
Уведомление о неверно выбранном значении справочника
Maks 06.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "НарядПутевка", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если в документе выбран неверный склад. . .
Установка Qt Creator для C и C++: ставим среду, CMake и MinGW без фреймворка Qt
8Observer8 05.04.2026
Среду разработки Qt Creator можно установить без фреймворка Qt. Есть отдельный репозиторий для этой среды: https:/ / github. com/ qt-creator/ qt-creator, где можно скачать установщик, на вкладке Releases:. . .
AkelPad-скрипты, структуры, и немного лирики..
testuser2 05.04.2026
Такая программа, как AkelPad существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
Отображение реквизитов в документе по условию и контроль их заполнения
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеСпецтехники", разработанного в конфигурации КА2. Данный документ берёт данные из другого нетипового документа. . .
Фото всей Земли с борта корабля Orion миссии Artemis II
kumehtar 04.04.2026
Это первое подобное фото сделанное человеком за 50 лет. Снимок называют новым вариантом легендарной фотографии «The Blue Marble» 1972 года, сделанной с борта корабля «Аполлон-17». Новое фото. . .
Вывод диалогового окна перед закрытием, если документ не проведён
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать программный контроль на предмет проведения документа. . .
Программный контроль заполнения реквизитов табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: 1. Реализовать контроль заполнения реквизита. . .
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение: DISM / Online / Add-Capability / CapabilityName:WMIC~~~~ Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru