Форум программистов, компьютерный форум, киберфорум
Наши страницы
C#: Базы данных, ADO.NET
Войти
Регистрация
Восстановить пароль
 
linkoln_737
19 / 19 / 13
Регистрация: 19.03.2013
Сообщений: 423
#1

По datagrid на каждой tabPage

28.01.2015, 20:37. Просмотров 254. Ответов 3
Метки нет (Все метки)

Здравствуйте,помогите,пожалуйста.
Есть база,где 7 таблиц
я создаю подключение вывожу данные и могу удалять их редактировать и добавлять
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
 private void connect()
        {
            OleDbConnection connection = new OleDbConnection(connectionString);
            connection.Open();
            OleDbDataAdapter adapter = new OleDbDataAdapter("SELECT * FROM client", connection);
            dataSet = new DataSet();
            adapter.Fill(dataSet);
            connection.Close();
            source.DataSource = dataSet.Tables[0];
            dataGridView1.DataSource = source;
            dataGridView1.Columns[0].Visible = false;
        }
private void save()
        {
            // Подключение --------------------------------------------------------------------->>>
 
            OleDbConnection connection = new OleDbConnection(connectionString);
            connection.Open();
            OleDbDataAdapter adapter = new OleDbDataAdapter("SELECT * FROM client", connection);
            var cb_adapter = new OleDbCommandBuilder(adapter);
            connection.Close();
            dataGridView1.Columns[0].Visible = false;
 
            // <<<---------------------------------------------------------------------
 
            // Обновление --------------------------------------------------------------------->>>
 
            adapter.UpdateCommand = new OleDbCommand("UPDATE client SET fam = ?,imya = ?,otchestvo = ?, pasportrf = ?,viza = ?,telefon = ?,zagran=? WHERE id = ?");
            adapter.UpdateCommand.Parameters.Add("fam", OleDbType.VarChar, 25, "fam");
            adapter.UpdateCommand.Parameters.Add("imya", OleDbType.VarChar, 12, "imya");
            adapter.UpdateCommand.Parameters.Add("otchestvo", OleDbType.VarChar, 25, "otchestvo");
            adapter.UpdateCommand.Parameters.Add("pasportrf", OleDbType.VarChar, 35, "pasportrf");
            adapter.UpdateCommand.Parameters.Add("viza", OleDbType.VarChar, 35, "viza");
            adapter.UpdateCommand.Parameters.Add("telefon", OleDbType.VarChar, 35, "telefon");
            adapter.UpdateCommand.Parameters.Add("zagran", OleDbType.VarChar, 35, "zagran");
            adapter.UpdateCommand.Parameters.Add("id", OleDbType.Integer, 10, "id");
            adapter.UpdateCommand.Connection = connection;
 
            // <<<---------------------------------------------------------------------
 
 
            // Добавление --------------------------------------------------------------------->>>
 
            adapter.InsertCommand = new OleDbCommand("INSERT INTO client (fam, imya,otchestvo,pasportrf,viza,telefon,zagran) VALUES (?, ?,?,?,?,?,?)");
            adapter.InsertCommand.Parameters.Add("fam", OleDbType.VarChar, 25, "fam");
            adapter.InsertCommand.Parameters.Add("imya", OleDbType.VarChar, 12, "imya");
            adapter.InsertCommand.Parameters.Add("otchestvo", OleDbType.VarChar, 25, "otchestvo");
            adapter.InsertCommand.Parameters.Add("pasportrf", OleDbType.VarChar, 35, "pasportrf");
            adapter.InsertCommand.Parameters.Add("viza", OleDbType.VarChar, 35, "viza");
            adapter.InsertCommand.Parameters.Add("telefon", OleDbType.VarChar, 35, "telefon");
            adapter.InsertCommand.Parameters.Add("zagran", OleDbType.VarChar, 35, "zagran");
            adapter.InsertCommand.Connection = connection;
 
            // <<<---------------------------------------------------------------------
 
            // Удаление --------------------------------------------------------------------->>>
 
            adapter.DeleteCommand = new OleDbCommand("DELETE * FROM client WHERE id = ?");
            adapter.DeleteCommand.Parameters.Add("id", OleDbType.Integer, 10, "id");
            adapter.DeleteCommand.Connection = connection;
 
            // <<<---------------------------------------------------------------------
 
            adapter.Update(dataSet);
            adapter.Update(dataSet.Tables[0]);
            connect();
        }
Мне нужно что на каждой tabPage было по датагриду, в которых данные и разных таблиц
получается нужно для каждой таблицы свою функцию подключения и редактирования,Можно ли как то полегче это реализовать?
И еще вопрос если нельзя,я вот сделал вторую функцию
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
private void connect1()
        {
            OleDbConnection connection1 = new OleDbConnection(connectionString);
            connection1.Open();
            OleDbDataAdapter adapter1 = new OleDbDataAdapter("SELECT * FROM sotrudnik", connection1);
            dataSet = new DataSet();
            adapter1.Fill(dataSet);
            connection1.Close();
            source.DataSource = dataSet.Tables[1];
            dataGridView2.DataSource = source;
            dataGridView2.Columns[0].Visible = false;
        }
 
private void save1()
        {
            // Подключение --------------------------------------------------------------------->>>
 
            OleDbConnection connection = new OleDbConnection(connectionString);
            connection.Open();
            OleDbDataAdapter adapter = new OleDbDataAdapter("SELECT * FROM sotrudnik", connection);
            var cb_adapter = new OleDbCommandBuilder(adapter);
            connection.Close();
            dataGridView2.Columns[0].Visible = false;
 
            // <<<---------------------------------------------------------------------
 
            // Обновление --------------------------------------------------------------------->>>
 
            adapter.UpdateCommand = new OleDbCommand("UPDATE sotrudnik SET fam = ?,imya = ?,otchestvo = ?, doljnost = ?, WHERE id = ?");
            adapter.UpdateCommand.Parameters.Add("fam", OleDbType.VarChar, 25, "fam");
            adapter.UpdateCommand.Parameters.Add("imya", OleDbType.VarChar, 12, "imya");
            adapter.UpdateCommand.Parameters.Add("otchestvo", OleDbType.VarChar, 25, "otchestvo");
            adapter.UpdateCommand.Parameters.Add("doljnost", OleDbType.VarChar, 35, "doljnost");
            adapter.UpdateCommand.Parameters.Add("id", OleDbType.Integer, 10, "id");
            adapter.UpdateCommand.Connection = connection;
 
            // <<<---------------------------------------------------------------------
 
 
            // Добавление --------------------------------------------------------------------->>>
 
            adapter.InsertCommand = new OleDbCommand("INSERT INTO sotrudnik (fam, imya,otchestvo,pasportrf,viza,telefon,zagran) VALUES (?, ?,?,?,?,?,?)");
            adapter.InsertCommand.Parameters.Add("fam", OleDbType.VarChar, 25, "fam");
            adapter.InsertCommand.Parameters.Add("imya", OleDbType.VarChar, 12, "imya");
            adapter.InsertCommand.Parameters.Add("otchestvo", OleDbType.VarChar, 25, "otchestvo");
            adapter.InsertCommand.Parameters.Add("doljnost", OleDbType.VarChar, 35, "doljnost");
            adapter.InsertCommand.Connection = connection;
 
            // <<<---------------------------------------------------------------------
 
            // Удаление --------------------------------------------------------------------->>>
 
            adapter.DeleteCommand = new OleDbCommand("DELETE * FROM sotrudnik WHERE id = ?");
            adapter.DeleteCommand.Parameters.Add("id", OleDbType.Integer, 10, "id");
            adapter.DeleteCommand.Connection = connection;
 
            // <<<---------------------------------------------------------------------
 
            adapter.Update(dataSet);
            adapter.Update(dataSet.Tables[0]);
            connect1();
        }
А мне почему то данные из 2 таблицы на 1 датагрид вставляет и на 2,хотя вроде везде разные написаны

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
private void Form1_Load(object sender, EventArgs e)
        {
            connect();
            
            dataGridView1.Columns[1].Width = 80;
            dataGridView1.Columns[2].Width = 80;
            dataGridView1.Columns[3].Width = 88;
            dataGridView1.Columns[4].Width = 80;
            dataGridView1.Columns[5].Width = 90;
            dataGridView1.Columns[6].Width = 80;
            dataGridView1.Columns[7].Width = 80;
 
            dataGridView1.Columns[1].HeaderText = "Фамилия";
            dataGridView1.Columns[2].HeaderText = "Имя";
            dataGridView1.Columns[3].HeaderText = "Отчество";
            dataGridView1.Columns[4].HeaderText = "Паспорт РФ";
            dataGridView1.Columns[5].HeaderText = "Загранпаспорт";
            dataGridView1.Columns[6].HeaderText = "Виза";
            dataGridView1.Columns[7].HeaderText = "Телефон";
            connect1();
            dataGridView2.Columns[1].HeaderText = "Фамилия";
            dataGridView2.Columns[2].HeaderText = "Имя";
            dataGridView2.Columns[3].HeaderText = "Отчество";
            dataGridView2.Columns[4].HeaderText = "Должность";
 
          
        }
Заранее спасибо!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.01.2015, 20:37
Ответы с готовыми решениями:

Доступ к содержимому TabPage в TabPage
есть tabpage и внутри него еще несколько tabpage, как получить доступ к их...

Отображение данных в одном datagrid при клике в другом datagrid
Здравствуйте! Хотел уточнить, как можно реализовать возможность при клике на...

Получить данные с выбранной ячейки DataGrid и поместить их в другой DataGrid
Добрый вечер, кто может помочь, плииз, у меня на форме расположены 2 datagrida,...

Перенос контролов на другой tabPage
На форме имеется контрол tabControl. В нём есть две страницы (tabPage1 и...

Отловить событие смены TabPage
У меня на форме есть элемент tabControl, и есть несколько tabPage, на каждом...

3
chumich
1480 / 842 / 280
Регистрация: 20.12.2014
Сообщений: 2,162
28.01.2015, 21:55 #2
Цитата Сообщение от linkoln_737 Посмотреть сообщение
я создаю подключение
Подключение к базе данных можно делать не программно, а через меню "Задачи" на самом датагриде, при этом все адаптеры и т. д. создаются автоматически. Также автоматически содержимое таблиц БД будет отражаться в соответствующих гридах. Вам останется только разобраться в редактировании. На форуме есть много веток, где обсуждается сохранение данных в БД при корректировке или внесении их в датагрид. Смотрите через поиск.
0
linkoln_737
19 / 19 / 13
Регистрация: 19.03.2013
Сообщений: 423
28.01.2015, 22:51  [ТС] #3
chumich, а вы не подскажите, почему если написать еще одну функцию на подключение,то она все равно выводит на два датагрида одну таблицу?
хотя там другая функция и я указываю ей dataGridView2
0
chumich
1480 / 842 / 280
Регистрация: 20.12.2014
Сообщений: 2,162
28.01.2015, 23:06 #4
Сам никогда этим методом не пользовался, но с первого взгляда вызывает подозрение, что dataSet в обоих случаях один и тот же. Замените один из них на dataSet1 и проверьте - может в этом дело.
C#
1
2
3
4
5
6
7
            OleDbDataAdapter adapter1 = new OleDbDataAdapter("SELECT * FROM sotrudnik", connection1);
            dataSet1 = new DataSet();
            adapter1.Fill(dataSet1);
            connection1.Close();
            source.DataSource = dataSet1.Tables[1];
            dataGridView2.DataSource = source;
            dataGridView2.Columns[0].Visible = false;
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.01.2015, 23:06

Строки DataGrid и вывод дополнительной информации под каждой строкой по клику
Ситуация: надо вывести доп информацию. Есть DataGrid, в нём куча строк. При...

DataGrid: установить фокус на строку DataGrid, а не на сам DataGrid
Добрый день! Есть следующий код: public partial class MainWindow : Window...

Как перед выводом DataGrid на экран прочитать данные из первой ячейки каждой строки?
Как перед выводом DataGrid на экран прочитать данные из первой ячейки каждой...


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

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

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