0 / 0 / 0
Регистрация: 27.05.2016
Сообщений: 17
1

Добавление из Textbox в БД Access с обновлением данных в DataGridView

28.05.2016, 15:21. Показов 3741. Ответов 8

Подскажите кто знает, есть 2 формы на Form1 есть datagridview с подключённой базой access, а на Form2 есть пару textbox. Как мне организовать добавление в базу из textbox в базу Access и что бы в datagridview обновилось?
Видел пару примеров на форуме но не подошло... Если есть скиньте исходник на с# с базой.
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
28.05.2016, 15:21
Ответы с готовыми решениями:

Добавление из Textbox в базу Access с обновлением DataStringView
Всем привет программисты :) я ну очень "не кодер")) Ребят лажу 2 дня не могу решить 1 дилемму кто...

Добавление данных в DataGridView через textbox
У меня есть две формы (FrmZakazBayer,FrmZakazFarm). На FrmZakazBayer есть пять textbox. На...

Добавление данных из TextBox в файл и считывание в DataGridView
Есть форма, на ней 5 TextBoxов, нужно добавить данные из них в текстовый файл, чтобы на другой...

DataGridview удаление строк с обновлением данных в DataTable
уважаемые форумчане, у меня такой вопрос.Есть DataTable, без бд, и привязанный к нему...

8
2 / 2 / 0
Регистрация: 19.11.2015
Сообщений: 16
28.05.2016, 15:52 2
Cам сталкивался с такой же проблемой, но удалось ее решить. Вот код конкретно моей программы.
Пишешь в форму с текстбоксами в кнопку которую назовешь "Добавить".
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
 string SQL = "INSERT INTO ["+ otherForm.selectedTable +"] ([id],[fio],[teory],[vojdenie],[doplata],[itogo],[med],[god],[kp],[inst],[grafik]) VALUES (" + (otherForm.dataSet.Tables[0].Rows.Count + 1) + " ,'" + textBox1.Text + "'," + textBox2.Text + "," + textBox3.Text + "," + textBox4.Text + "," + textBox5.Text + ",'" + textBox6.Text + "','" + textBox7.Text + "','" + textBox8.Text + "','" + textBox9.Text + "','" + textBox10.Text + "')";
            MessageBox.Show(SQL);
            otherForm.connection.Open();
            otherForm.comm = new OleDbCommand(SQL, otherForm.connection);
 
            otherForm.comm.ExecuteNonQuery();
 
 
            DataSet dataSet = new DataSet();
 
            otherForm.adapter.Fill(dataSet);
 
            otherForm.adapter.Update(dataSet);
            otherForm.connection.Close();
            otherForm.Add();
Если ты понимаешь С# - то догадаешься что именно нужно изменить чтобы подошло под твою программу.

Добавлено через 1 минуту
Ну ладно, в [ ] имена столбцов а далее где textbox1, textbox2 - привязка к конкретным столбцам.
1
0 / 0 / 0
Регистрация: 27.05.2016
Сообщений: 17
28.05.2016, 16:43  [ТС] 3
Спасибо)) не подскажешь почему ругается на otherForm ? и что значит other?
0
2 / 2 / 0
Регистрация: 19.11.2015
Сообщений: 16
28.05.2016, 16:51 4
В смысле ругается? Код то вроде как работает, данные заносятся в таблицу и так же в access
0
0 / 0 / 0
Регистрация: 27.05.2016
Сообщений: 17
28.05.2016, 17:02  [ТС] 5
Имя "otherForm" не существует в текущем контексте.
0
2 / 2 / 0
Регистрация: 19.11.2015
Сообщений: 16
28.05.2016, 17:12 6
На той же форме после public partial class Form2 : Form
C#
1
2
3
4
5
public Form2 otherForm;
        public Form3(Form2 form1)
        {
            InitializeComponent();
            otherForm = form1;
Добавлено через 38 секунд
Код между "{" "}" естественно
0
0 / 0 / 0
Регистрация: 27.05.2016
Сообщений: 17
28.05.2016, 17:20  [ТС] 7
Ппц... Новые ошибки... Вот исходник, может я что-то натворил.
Вложения
Тип файла: zip исходник.zip (2.48 Мб, 27 просмотров)
0
783 / 615 / 272
Регистрация: 04.08.2015
Сообщений: 1,707
28.05.2016, 17:31 8
На 1- форме вы вызываете 2-ю форму. При этом получаете текущую строку грида
C#
1
2
3
4
5
6
7
if (dataGridView1.SelectedRows.Count > 0)
{
   DataRow row = ((DataRowView)dataGridView1.SelectedRows[0].DataBoundItem).Row;
   Form2 f2 = new Form2(row);
   f2.ShowDialog();
   //здесь можно разместить код обновления
}
Во 2-й форме пишите
C#
1
2
3
4
5
6
7
8
9
10
11
12
private DataRow row;
public Form2(DataRow editRow)
{
    InitializeComponent();
    row=editRow;
    //заполняем текстбоксы
        if(row[0]!=DBNull.Value)
            textBox1.Text=row[0];
         if(row[1]!=DBNull.Value)
            textBox2.Text=row[1];
    }
}
Сохранение данных на 2-й форме.
C#
1
2
row[0]=textBox1.Text;
row[1]=textBox2.Text;
Этот же код можно использовать для создания новой записи. Допустим, у вас источник данных DataTable dt.
Тогда нужно передать на форму 2 новую строку
C#
1
2
3
4
5
6
7
8
if (dataGridView1.SelectedRows.Count > 0)
{
   DataRow row = dt.NewRow();
   Form2 f2 = new Form2(row);
   f2.ShowDialog();//Я упрощаю код. Лучше было бы делать if(f2.ShowDialog()==DialogResult.Ok), чтобы обработать отмену ввода
   dt.Rows.Add(row); 
   //здесь можно разместить код обновления
}
0
0 / 0 / 0
Регистрация: 27.05.2016
Сообщений: 17
28.05.2016, 18:23  [ТС] 9
Спасибо за помощь, но я не всё понял. Если ты не занят не мог бы ты реализовать это в этом исходнике и сбросить мне. Буду очень признателен
Вложения
Тип файла: zip исходник.zip (2.48 Мб, 40 просмотров)
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
28.05.2016, 18:23
Помогаю со студенческими работами здесь

Импорт с обновлением из Excel данных файла .cvs в таблицы Access
Здравствуйте, уважаемые знатоки vba. Собственно, мой вопрос вынесен в заголовок. Конкретно меня...

Добавление нового столбца в DataGridView и в первую строку данного столбца добавление значения из textbox
Привет всем! Народ подскажите как мне сделать чтобы через кнопу Button добавлялся новый столбец в...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru