Ребята здравствуйте! Помогите пожалуйста!
Есть БД созданная в Access, данные из неё выводятся на форму Windows C# в DataGridView (данные выводятся из разных таблиц).
Данные в DataGridView можно редактировать, но как же изменения сохранить обратно в БД?
Необходимо,чтобы при нажатии на кнопку сохранялись изменения в БД
Поняла, что нужно написать запрос Update, только никак не получается его правильно выполнить...
Вот код формы:
Код:
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 WindowsFormsApplication2
{
public partial class Form2 : Form
{
static string connectionString = @"provider=Microsoft.Jet.OLEDB.4.0; data source=Data\НИДС.mdb";
OleDbConnection myOleDbConnection = new OleDbConnection(connectionString);
public Form2()
{
InitializeComponent();
OleDbCommand myOleDbCommand = myOleDbConnection.CreateCommand();
myOleDbConnection.Open();
myOleDbCommand.CommandText = "SELECT [Данные о преподавателях].[ФИО преподавателя], Публикации.[Название публикации], Публикации.[Печатные листы], [Тип публикации].[Название типа], Издание.Дата, Издание.[Название сборника], Издательство.Название, Издательство.Город, [Данные о студентах].ФИО FROM [Тип публикации] INNER JOIN ((Издательство INNER JOIN Издание ON Издательство.[id издательства] = Издание.[id издательства]) INNER JOIN ([Данные о преподавателях] INNER JOIN ([Данные о студентах] INNER JOIN Публикации ON [Данные о студентах].[id студента] = Публикации.[id студента]) ON [Данные о преподавателях].[id преподавателя] = Публикации.[id преподавателя]) ON Издание.[id издания] = Публикации.[id издания]) ON [Тип публикации].[id тип публикации] = Публикации.[id тип публикации] where [Данные о студентах].ФИО='" + Form1.n + "';";
OleDbDataReader myOleDbDataReader = myOleDbCommand.ExecuteReader();
while (myOleDbDataReader.Read())
{
dataGridView1.Rows.Insert(0, string.Format("{0}", myOleDbDataReader[0]), string.Format("{0}", myOleDbDataReader[1]), string.Format("{0}", myOleDbDataReader[2]), string.Format("{0}", myOleDbDataReader[3]), string.Format("{0}", myOleDbDataReader[4]), string.Format("{0}", myOleDbDataReader[5]), string.Format("{0}", myOleDbDataReader[6]), string.Format("{0}", myOleDbDataReader[7]));
maskedTextBox1.Text = string.Format("{0}", myOleDbDataReader["ФИО"]);
maskedTextBox1.Enabled = true;
}
}
private void button1_Click(object sender, EventArgs e)
{
Close();
}
private void Form2_Load(object sender, EventArgs e)
{
}
private void button2_Click(object sender, EventArgs e)
{
OleDbCommand myOleCommand = myOleDbConnection.CreateCommand();
myOleCommand.CommandText = @"update [Данные о преподавателях] set [ФИО преподавателя]='" + this.dataGridView1 + "', Публикации set[Название публикации]= '" + this.dataGridView1 + "', Публикации set [Печатные листы]= '" + this.dataGridView1 + "', [Тип публикации] set[Название типа]= '" + this.dataGridView1 + "', Издание set Дата= '" + this.dataGridView1 + "', Издание set[Название сборника] = '" + this.dataGridView1 + "' , Издательство set Название = '" + this.dataGridView1 + "', Издательство setГород = '" + this.dataGridView1 + "', [Данные о студентах]set ФИО = '" + this.dataGridView1 + "' where ФИО='" + this.maskedTextBox1.Text + "';";
myOleCommand.ExecuteNonQuery();
myOleDbConnection.Close();
}
}
}