Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
 
0 / 0 / 0
Регистрация: 06.05.2017
Сообщений: 34
1

Не могу создать кнопку редактирование и сохранение. Подскажите как сделать на OLEDB

19.12.2018, 13:00. Просмотров 410. Ответов 11
Метки нет (Все метки)

У меня есть база в Access я создал форму в которой Datagridview и пустые текстбоксы я смог создать кнопки добавление и удаление записи из Datagridview (когда добавляю и удаляю там то в базе тоже удаляется и добавляется) можете помочь с кнопкой редактирование чтобы после редактирование показывалась и в базе измененные данные


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
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Data.OleDb;
 
namespace Оптовый_склад
{
    public partial class Поставщики : Form
    {
        OleDbConnection con = new OleDbConnection(@"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=D:\4 Курс\Курсовой\База\Оптовый_склад.accdb");
        int count = 0;
        public Поставщики()
        {
            InitializeComponent();
        }
 
        private void button1_Click(object sender, EventArgs e)
        {
            DialogResult result = MessageBox.Show("Вы действительно хотите добавить запись?", "Подтвердите действие", MessageBoxButtons.YesNo, MessageBoxIcon.Question);
            if (result == DialogResult.Yes)
            {
                con.Open();
 
                OleDbCommand cmd = con.CreateCommand();
                cmd.CommandType = CommandType.Text;
                cmd.CommandText = " insert into Postavshiki values ('" + textBox1.Text + "','" + textBox2.Text + "','" + textBox3.Text + "', '" + textBox4.Text + "','" + textBox5.Text + "')";
                cmd.ExecuteNonQuery();
 
                con.Close();
                textBox1.Text = "";
                textBox2.Text = "";
                textBox3.Text = "";
                textBox4.Text = "";
                textBox5.Text = "";
                MessageBox.Show("Процесс завершен!", "Добавление");
 
            }
            else if (result == DialogResult.No)
            {
                this.Close();
               Поставщики newForm = new Поставщики();
                newForm.Show();
 
 
            }
        }
 
        private void button4_Click(object sender, EventArgs e)
        {
            con.Open();
 
            OleDbCommand cmd = con.CreateCommand();
            cmd.CommandType = CommandType.Text;
            cmd.CommandText = " select * from Postavshiki";
            cmd.ExecuteNonQuery();
            DataTable dt = new DataTable();
            OleDbDataAdapter da = new OleDbDataAdapter(cmd);
            da.Fill(dt);
            dataGridView1.DataSource = dt;
            con.Close();
 
        }
 
        private void button2_Click(object sender, EventArgs e)
        {
            DialogResult result = MessageBox.Show("Вы действительно хотите удалить запись?", "Подтвердите действие", MessageBoxButtons.YesNo, MessageBoxIcon.Warning);
             if (result == DialogResult.Yes)
             {
                 con.Open();
 
                 OleDbCommand cmd = con.CreateCommand();
                 cmd.CommandType = CommandType.Text;
                 cmd.CommandText = " delete from Postavshiki where Поставщик='" + textBox6.Text + "'";
                 cmd.ExecuteNonQuery();
 
                 con.Close();
                
                 textBox6.Text = "";
                  MessageBox.Show("Процесс завершен!", "Удаление");
 
            }
            else if (result == DialogResult.No)
            {
                this.Close();
               Поставщики newForm = new Поставщики();
                newForm.Show();
 
 
            }
             }
 
        private void dataGridView1_RowHeaderMouseClick(object sender, DataGridViewCellMouseEventArgs e)
        {
            textBox1.Text = dataGridView1.Rows[e.RowIndex].Cells[0].Value.ToString();
            textBox2.Text = dataGridView1.Rows[e.RowIndex].Cells[1].Value.ToString();
            textBox3.Text = dataGridView1.Rows[e.RowIndex].Cells[2].Value.ToString();
            textBox4.Text = dataGridView1.Rows[e.RowIndex].Cells[3].Value.ToString();
            textBox5.Text = dataGridView1.Rows[e.RowIndex].Cells[4].Value.ToString();
           
        }
 
 
        // кнопка редактирование
 
        private void button3_Click(object sender, EventArgs e)
        {
 
          
 
            }
        }
        
           
        }
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
19.12.2018, 13:00
Ответы с готовыми решениями:

Не могу создать кнопку, чтобы она закрывалась двойным нажатием левой кнопкой мыши. Как это сделать?
Нужно создать кнопку и чтобы она закрывало окно Form1 двойным нажатием левой кнопкой мыши по ней....

Не могу создать метод покупки товара и если не сложно подскажите как меню сделать в main!
Принцип метода покупки такой:в нём указывается товар и количество которое надо купить и с помощью...

подскажите как создать кнопку
народ подскажите как создать кнопку сброса (точнее как прописать код) чтобы при дальнейшем нажатии...

Подскажите как сделать кнопку для секундомера
Добрый день! Какой использовать код для кнопки, если я хочу сделать следующее: секундомер, я...

11
C# Brain.net
35 / 35 / 7
Регистрация: 21.10.2012
Сообщений: 330
Записей в блоге: 12
19.12.2018, 13:09 2
Что именно не получается?
Update если я не ошибаюсь играет роль редактирование данных.

SQL
1
UPDATE ВашаТаблица SET Name=@ВашаПеременая WHERE ВашиУсловия
0
0 / 0 / 0
Регистрация: 06.05.2017
Сообщений: 34
19.12.2018, 13:16  [ТС] 3
данные не сохраняется в базе access он остается только в datagridwiev а данные в базе не меняется
0
C# Brain.net
35 / 35 / 7
Регистрация: 21.10.2012
Сообщений: 330
Записей в блоге: 12
19.12.2018, 13:28 4
Low12, Вы при удаление и добавление используете:
C#
1
cmd.CommandText = " insert into Postavshiki values
C#
1
cmd.CommandText = " delete from Postavshiki where Поставщик='"
Вот таким же способом, Вам нужно сделать и Update, например:
C#
1
cmd.CommandText = " UPDATE Postavshiki SET Кукуруза = 300 where Поставщик='Николя Тесло'"
0
0 / 0 / 0
Регистрация: 06.05.2017
Сообщений: 34
19.12.2018, 13:32  [ТС] 5
я писал вот эту но не нечего не получилось

C#
1
2
3
4
5
6
7
8
 con.Open();
 
//     OleDbCommand cmd = con.CreateCommand();
//    cmd.CommandType = CommandType.Text;
//    cmd.CommandText = " update Postavshiki set Поставщик='" + textBox2.Text + "',Адрес='" + textBox3.Text + "' Телефон='" + textBox4.Text + "',Сотрудник='" + textBox5.Text + "' where  Код_поставщика='" + textBox1.Text + "'";
//   cmd.ExecuteNonQuery();
 
//   con.Close();
0
C# Brain.net
35 / 35 / 7
Регистрация: 21.10.2012
Сообщений: 330
Записей в блоге: 12
19.12.2018, 13:58 6
Low12, а что именно не получилось?
Ошибка?
Данные не изменились?

Добавлено через 4 минуты
Попробуйте произвести UPDATE без textbo2.text, добейте данные вручную и попробуйте обновить один параметр.
Если обновит.
То вполне реально, нужно будет идти другим путем.
0
0 / 0 / 0
Регистрация: 06.05.2017
Сообщений: 34
19.12.2018, 13:58  [ТС] 7
вот ощибка
0
Миниатюры
Не могу создать кнопку редактирование и сохранение. Подскажите как сделать на OLEDB  
0 / 0 / 0
Регистрация: 06.05.2017
Сообщений: 34
19.12.2018, 14:00  [ТС] 8
мне до надо чтобы самому изменять любые данные в определенном коде
0
C# Brain.net
35 / 35 / 7
Регистрация: 21.10.2012
Сообщений: 330
Записей в блоге: 12
19.12.2018, 14:04 9
Вполне реально, что таким путем потребуется идти.
C#
1
2
3
4
5
6
7
8
9
10
cmd.Parameters.Add(new OleDbParameter("@var1", Customer[i].Name))
            cmd.Parameters.Add(new OleDbParameter("@var2", Customer[i].PhoneNum))
            cmd.Parameters.Add(new OleDbParameter("@var3", Customer[i].ID))
            cmd.Parameters.Add(new OleDbParameter("@var4", Customer[i].Name))
            cmd.Parameters.Add(new OleDbParameter("@var5", Customer[i].PhoneNum))
 
            cmd.CommandText = "UPDATE Customers SET Name=@var1, Phone=@var2" + 
                              "WHERE ID=@var3 AND (Name<>@var4 OR Phone<>@var5)";
            cmd.ExecuteNonQuery();
            cmd.Parameters.Clear();
Добавлено через 2 минуты
Low12, У вас в textbox.text, а загоняете вы номер телефона?
У вас в колонке какой тип?
Вот и ошибка с несоответствиями типов.

Добавлено через 1 минуту
Text или VarChar
|Имя|

Integer? или так же Varchar?
|Номер телефона|

А с textbox.text вы загоняете другой тип, по этому конфликты.
0
0 / 0 / 0
Регистрация: 06.05.2017
Сообщений: 34
19.12.2018, 14:08  [ТС] 10
а что обозначает слово Customer и для код_поставщика int писать как так я в access выбирал счетчик
0
0 / 0 / 0
Регистрация: 06.05.2017
Сообщений: 34
19.12.2018, 14:30  [ТС] 11
Вот база можещь проверить код
0
Вложения
Тип файла: rar База.rar (312.1 Кб, 0 просмотров)
0 / 0 / 0
Регистрация: 06.05.2017
Сообщений: 34
19.12.2018, 15:07  [ТС] 12
ропп
0
Вложения
Тип файла: rar База2.rar (312.1 Кб, 2 просмотров)
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
19.12.2018, 15:07

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Подскажите как сделать кнопку «Класс»«Нравится»
Подскажите как сделать кнопку «Класс»«Нравится» на флеш сайт?...

Подскажите как сделать сохранение в кликере на web
У меня на сайте есть кликер(ещё не доделанный).Мне нужно сделать так чтобы монеты которые...

Подскажите как сделать в BindingNavigator сохранение данных
Подскажите как сделать в BindingNavigator сохранение данных,связал с DataGridViev привязал бд,как...

Подскажите как сделать сохранение в кликере на web
У меня на сайте есть кликер(ещё не доделанный).Мне нужно сделать так чтобы монеты которые...


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

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.