Форум программистов, компьютерный форум, киберфорум
C#: Базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.79/47: Рейтинг темы: голосов - 47, средняя оценка - 4.79
 Аватар для mattmaster
1 / 1 / 1
Регистрация: 16.05.2016
Сообщений: 15

Как удалить и изменить данные в базе sqlite через DataGridView (Windows Forms)?

09.06.2016, 03:07. Показов 10152. Ответов 28
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Проблема в следующем: пишу на visual studio 2015, создаю базу sqlite через "Server Explorer -- Data connections -- Add connection" по созданному коннекшену правой и добавить таблицу. Заполняю поля. таблица создается без проблем.
Далее на форму вытаскиваю из data source созданную таблицу. Она отображается сразу как подконнекченый DataGridView. На кнопку добавить кидаю такой код (много связанных текстбоксов):
C#
1
2
3
4
5
6
        private void button1_Click(object sender, EventArgs e)
        {
            dbgostsTableAdapter.Insert(int.Parse(iDTextBox.Text), nameTextBox.Text, double.Parse(sizeTextBox.Text), double.Parse(otstupTextBox.Text), double.Parse(intervalTextBox.Text), double.Parse(o_leftTextBox.Text), double.Parse(o_rightTextBox.Text), double.Parse(o_topTextBox.Text), double.Parse(o_bottomTextBox.Text), f_nameTextBox.Text);
            dbgostsTableAdapter.Update(gOSTSDataSet);
            this.dbgostsTableAdapter.Fill(this.gOSTSDataSet.dbgosts);
        }
а вот с удалением и добавлением никик не удается победить. на удаление пишет
An unhandled exception of type 'System.InvalidOperationException' occurred in System.Data.dll

Additional information: Для элемента Update требуется действительный DeleteCommand при передаче коллекции DataRow с удаленными строками.
может кто сможет помочь? Если плохо описал прикрепляю исходник. Помогите пожалуйста

Исходник: CheckDOC.rar
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
09.06.2016, 03:07
Ответы с готовыми решениями:

Как изменить данные Access через dataGridView?
Есть ли шаблон внесения изменений в таблицу access через dataGridView? Не нашел.

Как отобразить данные из SQLite в DataGridView?
Как отобразить данные с БД SQLite в DataGridView, подскажите, пожалуйста... Добавлено через 2 часа 54 минуты Спасибо за неответ)...

Как изменить рамку в Windows Forms?
Хотя бы поменять цвет. Вижу что ниже есть аналогичная тема, но там ответа нет.

28
44 / 44 / 24
Регистрация: 01.05.2012
Сообщений: 178
09.06.2016, 05:00
Юзайте SQL запросы.
0
 Аватар для mattmaster
1 / 1 / 1
Регистрация: 16.05.2016
Сообщений: 15
09.06.2016, 10:30  [ТС]
Маловато опыта в таком юзанье(( обычно работал на delfi с базой access... подскажите,как правильно оформить удаление и редактирование через запросы. База GOSTS.db , в ней таблица dbgosts содержащая 10 полей (на скрине).
Миниатюры
Как удалить и изменить данные в базе sqlite через DataGridView (Windows Forms)?   Как удалить и изменить данные в базе sqlite через DataGridView (Windows Forms)?  
0
785 / 616 / 273
Регистрация: 04.08.2015
Сообщений: 1,713
09.06.2016, 15:00
Проверяйте наличие первичного ключа. Если его не было, то создать его и пересоздать TableAdapter.
0
Эксперт .NET
 Аватар для insite2012
5548 / 4311 / 1218
Регистрация: 12.10.2013
Сообщений: 12,371
Записей в блоге: 2
09.06.2016, 17:24
Цитата Сообщение от mattmaster Посмотреть сообщение
как правильно оформить удаление и редактирование через запросы
mattmaster, вот проект с примером, уже не раз его давал. И пользуйтесь поиском, тем похожих на форуме 100500+
Вложения
Тип файла: rar DatabaseDemo.rar (522.3 Кб, 115 просмотров)
0
 Аватар для mattmaster
1 / 1 / 1
Регистрация: 16.05.2016
Сообщений: 15
10.06.2016, 00:51  [ТС]
Sigma214, как я писал с sql-запросами не очень силен.

Igr_ok, первичного ключа не было. создал. удалил все с формы и пересоздал заново, но все равно выдает ошибку (в миниатюре) .

insite2012, в примере, только удаление из дбгрида, а не из базы. с дбгридом проблем не возникают... проблемы начинаются при удалении непосредственно из базы.
Миниатюры
Как удалить и изменить данные в базе sqlite через DataGridView (Windows Forms)?  
0
Эксперт .NET
 Аватар для insite2012
5548 / 4311 / 1218
Регистрация: 12.10.2013
Сообщений: 12,371
Записей в блоге: 2
10.06.2016, 00:59
Цитата Сообщение от mattmaster Посмотреть сообщение
в примере, только удаление из дбгрида, а не из базы.
Да вы что? Правда??? А проверить БД после удаления никак?
0
 Аватар для mattmaster
1 / 1 / 1
Регистрация: 16.05.2016
Сообщений: 15
10.06.2016, 01:39  [ТС]
insite2012, я извиняюсь, это я случайно про другой найденный пример, а этот пример у меня не получилось адаптировать под мой проект. Можете помочь адаптировать этот код под мои данные?
0
Эксперт .NET
 Аватар для insite2012
5548 / 4311 / 1218
Регистрация: 12.10.2013
Сообщений: 12,371
Записей в блоге: 2
10.06.2016, 06:47
Цитата Сообщение от mattmaster Посмотреть сообщение
Можете помочь адаптировать этот код под мои данные?
Могу. Опишите задачу. Сама БД в прикрепленном выше архиве есть?
0
 Аватар для mattmaster
1 / 1 / 1
Регистрация: 16.05.2016
Сообщений: 15
10.06.2016, 08:42  [ТС]
insite2012, да есть в том архиве. База GOSTS.db (лежит в папке Visual Studio 2015\Projects\CheckDOC\CheckDOC\bin\Debu g), в ней таблица dbgosts содержащая 10 полей (на скрине выше сообщение от Вчера, 10:30). В программе на форме gost имеется dataGridView с подключенной базой. Нужно в dataGridView выбрать строку, нажать кнопку удалить, желательно вопрос (удалить да-нет?), и чтобы строка удалилась не только с грида до перезахода на форму, а еще из базы.
0
Эксперт .NET
 Аватар для insite2012
5548 / 4311 / 1218
Регистрация: 12.10.2013
Сообщений: 12,371
Записей в блоге: 2
10.06.2016, 16:29
Цитата Сообщение от mattmaster Посмотреть сообщение
есть в том архиве. База GOSTS.db
mattmaster, Или лыжи не едут, или я... Вот скрин того, что есть в вашем архиве.
Миниатюры
Как удалить и изменить данные в базе sqlite через DataGridView (Windows Forms)?  
0
 Аватар для mattmaster
1 / 1 / 1
Регистрация: 16.05.2016
Сообщений: 15
10.06.2016, 16:58  [ТС]
при оформлении темы я расшарил файл с яндекс-диска (так как он больше 10 мб), но администрации форума это не понравилось и они сообщили, что нужно загружать архивы на форум, а не на сторонние ресурсы (не обратил внимания что они урезали содержимое архива). Вот ссылка на яндекс-диск https://yadi.sk/d/F9CLgnsPsQQc3 . Все еще прошу помощи.
0
Эксперт .NET
 Аватар для insite2012
5548 / 4311 / 1218
Регистрация: 12.10.2013
Сообщений: 12,371
Записей в блоге: 2
10.06.2016, 18:29
Цитата Сообщение от mattmaster Посмотреть сообщение
Все еще прошу помощи.
Вот вам пример.
Вложения
Тип файла: rar CheckDOC.rar (574.2 Кб, 55 просмотров)
1
 Аватар для mattmaster
1 / 1 / 1
Регистрация: 16.05.2016
Сообщений: 15
11.06.2016, 02:52  [ТС]
insite2012, Огромное спасибо! получилось пристроить этот код к моей проге! пытался еще самостоятельно по примеру исходника выше переделать под себя редактирование, но не вышло((( немного запутался. в очередной раз прошу помощи помочь доразобраться с изменением полей в базе. Последняя версия программы лежит на яндекс-диске (так как размер превышает 10 мб) https://yadi.sk/d/-SOBQ_U9sQx8w. Скриншот ошибок ниже. Вот на чем я запутался:
форма GostEdit (с текстбоксами и кнопкой изменить)
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
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;
using CheckDOC.Models;
using CheckDOC.Common;
 
namespace CheckDOC
{
    public partial class GostEdit : Form
    {
 
        int _id;
        public GostEdit(int id)
        {
            InitializeComponent();
            btnOk.Click += new EventHandler(btnOk_Click);
 
            _id = id;
 
            this.Load += new EventHandler(EditForm_Load);
        }
 
        void btnOk_Click(object sender, EventArgs e)
        {
            //Тут проверить на корректность все текстовые поля!!!
 
            GostModel gost = new GostModel
            {
                id = int.Parse(iDTextBox.Text),
                name = nameTextBox.Text,
                f_name = f_nameTextBox.Text,
                interval = float.Parse(intervalTextBox.Text),
                size = float.Parse(sizeTextBox.Text),
                otstup = float.Parse(otstupTextBox.Text),
                o_left = float.Parse(o_leftTextBox.Text),
                o_right = float.Parse(o_rightTextBox.Text),
                o_top = float.Parse(o_topTextBox.Text),
                o_bottom = float.Parse(o_bottomTextBox.Text)
            };
 
            SQLiteDbHelper.Provider.OperateUser(gost);  // ЗДЕСЬ ОШИБКА
 
            this.DialogResult = DialogResult.OK;
            this.Close();
        }
 
        void EditForm_Load(object sender, EventArgs e)
        {
            gost main = this.Owner as gost;
            if (main.gostsGridView.SelectedRows == null || main.gostsGridView.SelectedRows.Count == 0)
            {
                return;
            }
            try
            {
                int id;
                if (!int.TryParse(main.gostsGridView.SelectedRows[0].Cells[0].Value.ToString(), out id))
                {
                    return;
                }
                SQLiteDbHelper dbHelper = new SQLiteDbHelper();
                dbHelper.UpdateModel(id);
           //     main.UpdateView();
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message, "Error");
            }
            
                GostModel gost = GostModel.Provider.GetUserById(_id); // ЗДЕСЬ ОШИБКА
                FillGost(gost);
            
        }
        void FillGost(GostModel gost)
        {
            iDTextBox.Text = gost.id.ToString();
            nameTextBox.Text = gost.name;
            f_nameTextBox.Text = gost.f_name;
            intervalTextBox.Text = gost.interval.ToString();
            sizeTextBox.Text = gost.size.ToString();
            otstupTextBox.Text = gost.otstup.ToString();
            o_leftTextBox.Text = gost.o_left.ToString();
            o_rightTextBox.Text = gost.o_right.ToString();
            o_topTextBox.Text = gost.o_top.ToString();
            o_bottomTextBox.Text = gost.o_bottom.ToString();
        }
 
    }
}
модуль SQLiteDbHelper. не уверен, что правильно оформил команду UPDATE
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
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
using System.Data;
using System.Data.SQLite;
 
using CheckDOC.Models;
 
namespace CheckDOC.Common {
    public class SQLiteDbHelper {
        static string CONNECT_STR = string.Empty;
 
        static SQLiteDbHelper() {
            CONNECT_STR = string.Format("Data Source={0}", 
                Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "GOSTS.db"));
        }
        public GostModel[] GetModels()
        {
            List<GostModel> gosts = new List<GostModel>();
            string command = "SELECT * FROM Gosts";
            using (SQLiteConnection cnn = new SQLiteConnection(CONNECT_STR))
            {
                cnn.Open();
                using (SQLiteCommand cmd = new SQLiteCommand(command, cnn))
                {
                    using (SQLiteDataReader dr = cmd.ExecuteReader())
                    {
                        while (dr.Read())
                        {
                            GostModel gost = new GostModel
                            {
                                id =int.Parse(dr["id"].ToString()),
                                name=(string.IsNullOrEmpty(dr["name"].ToString())) ? "NULL" :(string)dr["name"],
                                f_name = (string.IsNullOrEmpty(dr["f_name"].ToString())) ? "NULL" : (string)dr["f_name"],
                                interval = float.Parse(dr["interval"].ToString()),
                                size=float.Parse(dr["size"].ToString()),
                                otstup = float.Parse(dr["otstup"].ToString()),
                                o_left = float.Parse(dr["o_left"].ToString()),
                                o_right = float.Parse(dr["o_right"].ToString()),
                                o_top = float.Parse(dr["o_top"].ToString()),
                                o_bottom = float.Parse(dr["o_bottom"].ToString())
                            };
                            gosts.Add(gost);
                        }
                    }
                }
            }
            return gosts.ToArray();
        }
        public void DeleteModel(int id) {
            string command = "DELETE FROM Gosts WHERE id=@id";
            using (SQLiteConnection cnn = new SQLiteConnection(CONNECT_STR)) {
                cnn.Open();
                using (SQLiteCommand cmd = new SQLiteCommand(command, cnn)) {
                    SQLiteParameter param = new SQLiteParameter("@id", id);
                    cmd.Parameters.Add(param);
                    cmd.ExecuteNonQuery();
                }
            }
        }
            public void UpdateModel(int id) {
            string command = "UPDATE Gosts SET name='{1}',f_name='{2}',interval='{3}',size='{4}',otstup='{5}',o_left='{6}',o_right='{7}',o_top='{8}',o_bottom='{9}' WHERE id='{0}'";
            using (SQLiteConnection cnn = new SQLiteConnection(CONNECT_STR)) {
                cnn.Open();
                using (SQLiteCommand cmd = new SQLiteCommand(command, cnn)) {
                    SQLiteParameter param = new SQLiteParameter("@id", id);
                    cmd.Parameters.Add(param);
                    cmd.ExecuteNonQuery();
                }
            }
        }
    }
}
и форма Gost На которой находится ГридВью и кнопка для вызова формы на редактирование
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
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.IO;
using System.Windows.Forms;
using System.Data.SQLite;
using CheckDOC.Models;
using CheckDOC.Common;
 
 
 
 
namespace CheckDOC
{
    public partial class gost : Form
    {
 
 
        public gost()
        {
            InitializeComponent();
            this.Load += new EventHandler(Gost_Load);
            btnDelete.Click += new EventHandler(btnDelete_Click);
 
        }
 
        void btnDelete_Click(object sender, EventArgs e)
        {
            if (gostsGridView.SelectedRows == null || gostsGridView.SelectedRows.Count == 0)
            {
                return;
            }
            try
            {
                int id;
                if (!int.TryParse(gostsGridView.SelectedRows[0].Cells[0].Value.ToString(), out id))
                {
                    return;
                }
                SQLiteDbHelper dbHelper = new SQLiteDbHelper();
                dbHelper.DeleteModel(id);
                UpdateView();
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message, "Error");
            }
        }
 
        void Gost_Load(object sender, EventArgs e)
        {
            try
            {
                UpdateView();
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message, "Error");
            }
        }
        void UpdateView()
        {
            SQLiteDbHelper dbHelper = new SQLiteDbHelper();
            gostsGridView.DataSource = null;
            gostsGridView.DataSource = dbHelper.GetModels();
        }
 
 
        private void button1_Click(object sender, EventArgs e)
        {
 
            this.Close();
 
        }
 
 
 
        private void buttongostadd_Click(object sender, EventArgs e)
        {
            FormGostADD F3 = new FormGostADD();
            //     this.Hide();
            F3.ShowDialog();
        }
 
 
        private void buttongostedit_Click(object sender, EventArgs e)
        {
                    try
                    {
                        if (gostsGridView[0, 0].Value != null)
                        {
                            GostEdit fEdit = new GostEdit();  // ЗДЕСЬ ОШИБКА
                            fEdit.Owner = this;
                            fEdit.ShowDialog();
                        }
                    }
 
                    catch { }
        }
 
    }
 
}
Миниатюры
Как удалить и изменить данные в базе sqlite через DataGridView (Windows Forms)?  
0
Эксперт .NET
 Аватар для insite2012
5548 / 4311 / 1218
Регистрация: 12.10.2013
Сообщений: 12,371
Записей в блоге: 2
11.06.2016, 14:06
Цитата Сообщение от mattmaster Посмотреть сообщение
пытался еще самостоятельно по примеру исходника выше переделать под себя редактирование, но не вышло(((
mattmaster, вот так всегда. А почему бы сразу не сказать, что нужно еще и редактирование? Но нет, вы сказали - просто удалить, я вам показал пример.
0
 Аватар для mattmaster
1 / 1 / 1
Регистрация: 16.05.2016
Сообщений: 15
11.06.2016, 14:09  [ТС]
insite2012, думал что по аналогии уже должно получиться.... но не получилось. Поможите?
0
Эксперт .NET
 Аватар для insite2012
5548 / 4311 / 1218
Регистрация: 12.10.2013
Сообщений: 12,371
Записей в блоге: 2
11.06.2016, 14:10
Цитата Сообщение от mattmaster Посмотреть сообщение
Поможите?
Я свой пример подкорректирую и покажу.
0
 Аватар для mattmaster
1 / 1 / 1
Регистрация: 16.05.2016
Сообщений: 15
11.06.2016, 18:21  [ТС]
Цитата Сообщение от insite2012 Посмотреть сообщение
Я свой пример подкорректирую и покажу.
Подскажите пожалуйста, а когда вы сможете показать?
0
Эксперт .NET
 Аватар для insite2012
5548 / 4311 / 1218
Регистрация: 12.10.2013
Сообщений: 12,371
Записей в блоге: 2
11.06.2016, 20:11
Цитата Сообщение от mattmaster Посмотреть сообщение
когда вы сможете показать?
Вот пример. Там в коде прописано у какого элемента делать обновление (не стал делать с новой формой, времени нет). Но принцип понятен.
Вложения
Тип файла: rar CheckDOC.rar (578.5 Кб, 44 просмотров)
1
 Аватар для mattmaster
1 / 1 / 1
Регистрация: 16.05.2016
Сообщений: 15
12.06.2016, 04:19  [ТС]
insite2012, СПАСИБО! С помощью этих примеров стал более-менее ориентироваться и понимать и в исходном примере. и удалось сделать все что нужно было.

только почему-то при нажатии на кнопку "удалить" удаляет 2 строки, при нажатии на кноп "изменить" 2 раза выбрасывает окно с полями на редактирование. Что такое может быть? из-за чего такое может происходить. Это происходит на форме Gost. Вот код этой формы.

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
120
121
122
123
124
125
126
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.IO;
using System.Windows.Forms;
using System.Data.SQLite;
using CheckDOC.Models;
using CheckDOC.Common;
 
 
 
 
namespace CheckDOC
{
    public partial class gost : Form
    {
 
 
        public gost()
        {
            InitializeComponent();
            this.Load += new EventHandler(Gost_Load);
            btnDelete.Click += new EventHandler(btnDelete_Click);
            btnUpdate.Click += new EventHandler(btnUpdate_Click);
 
        }
 
        void btnUpdate_Click(object sender, EventArgs e)
        {
        //    OperationType operation = (OperationType)Enum.Parse(typeof(OperationType), (sender as Button).Tag.ToString());
            int id = GetSelectedIndex();
            using (GostEdit gostedit = new GostEdit(id))
            {
                gostedit.StartPosition = FormStartPosition.Manual;
                gostedit.Location = this.Location +
                    SystemInformation.CaptionButtonSize +
                    SystemInformation.FrameBorderSize;
                if (gostedit.ShowDialog() == DialogResult.OK)
                {
              /*      SQLiteDbHelper dbHelper = new SQLiteDbHelper();
                    GostModel model = new GostModel { id = id };
                    dbHelper.OperateModel(model, OperationType.UPDATE);*/
                    UpdateView();
                }
            }
 
        }
        void btnDelete_Click(object sender, EventArgs e)
        {
            if (gostsGridView.SelectedRows == null || gostsGridView.SelectedRows.Count == 0)
            {
                return;
            }
            try
            {
                int id;
                if (!int.TryParse(gostsGridView.SelectedRows[0].Cells[0].Value.ToString(), out id))
                {
                    return;
                }
                SQLiteDbHelper dbHelper = new SQLiteDbHelper();
                GostModel model = new GostModel { id = id };
                dbHelper.OperateModel(model, OperationType.DELETE);
                UpdateView();
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message, "Error");
            }
        }
 
        void Gost_Load(object sender, EventArgs e)
        {
            try
            {
                UpdateView();
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message, "Error");
            }
        }
        void UpdateView()
        {
            SQLiteDbHelper dbHelper = new SQLiteDbHelper();
            gostsGridView.DataSource = null;
            gostsGridView.DataSource = dbHelper.GetModels();
        }
 
 
        private void button1_Click(object sender, EventArgs e)
        {
 
            this.Close();
 
        }
 
        int GetSelectedIndex()
        {
            if (gostsGridView.SelectedRows.Count == 0)
            {
                return -1;
            }
            int index = 0;
            if (int.TryParse(gostsGridView.SelectedRows[0].Cells[0].Value.ToString(), out index))
            {
                return index;
            }
            return -1;
        }
 
        private void buttongostadd_Click(object sender, EventArgs e)
        {
            FormGostADD F3 = new FormGostADD();
            //     this.Hide();
            F3.ShowDialog();
        }
 
    }
 
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
12.06.2016, 04:19
Помогаю со студенческими работами здесь

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

Взаимодействие БД SQLite и приложения на Windows Forms
Доброй ночи вам, обитатели форума. Появилась проблема, склеить БД с SQLite в мою Windows Forms апликацию, Visual Studio '10. Как это...

База данных SQLite в Windows Forms
Здравствуйте, такая проблема: сделал курсовую в которой такая структура: DAL(Посылает запросы до базы данных, то есть работает...

Как сохранить данные в Windows Forms
Привет! Помогите пожалуйста! При запуске программы открывается окно с listbox и кнопкой настроить. При нажатии кнопки настроить...

Данные из Datagridview в Sqlite
Всем привет! Подскажите, пожалуйста, как перенести данные, введённые в Datagridview, в базу данных Sqlite? Как выводить из БД в...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru