2013-10-26 2 views
0

Вот ситуация.DataGridView выбирает, но не обновляет и не удаляет

У меня была база данных в Access, которую я перенесла на SQL Server. Из Visual Studio 2012 (C#) я создал соединение с ним, которое называется «stanleylabs \ sqlexpress.teccartHoraire.dbo». У меня много таблиц и запросов и т. Д. Затем я создал несколько DataGridView. Например, я создал DataGridView, используя таблицу, в которой есть список учителей, с их именами и фамилиями. Был создан GridView. Я изменил столбцы, поэтому вместо имен переменных они будут иметь реальные предложения, а я проверил «Активировать выбор», «Активировать модификацию», «Активировать удаление» (помните, я использую французскую версию Visual Studio 2012, поэтому эти параметры не могут быть названы именно так). Я еще не добавил код.

Несмотря на проверку всех этих параметров, DataGridView, хотя и позволяет мне удалять строки и добавлять данные в таблицы, не сохраняет их. Когда я выполняю, я могу добавить или удалить или изменить, но скажу, что я оставляю приложение или просто окно, то, что я сделал, не обновляется в базе данных. Может ли кто-нибудь помочь мне с этим? Я искал решения, но ничего не нашел ...

ответ

0

Вам придется явно обновлять/удалять записи по конкретному событию. При добавлении источника данных в базу данных, Visual Studio создает обработчик событий для FormLoad события и добавляет строку кода, который загружает все записи в таблице из базы данных, подобный этому:

private void Form1_Load(object sender, EventArgs e) 
    { 
     // TODO: This line of code loads data into the 'yourDataSet.SalesOrderHeader' table. You can move, or remove it, as needed. 
     this.salesOrderHeaderTableAdapter.Fill(this.yourDataSet.SalesOrderHeader); 
    } 

Вы можете увидеть это кода, нажав F7 во время редактирования формы.

Что вам нужно сделать, это приложить к некоторому событию, скажем FormClosing и обновить таблицу, привязанный к DataGridView:

private void Form1_FormClosing(object sender, FormClosingEventArgs e) 
    { 
     this.salesOrderHeaderTableAdapter.Update(this.yourDataSet.SalesOrderHeader); 
    } 
+0

я сделал именно так, как вы сказали, и он по-прежнему не будет обновлять мой DataGridView ... частная пустота modificationProf_FormClosing (объект отправителя, FormClosingEventArgs е) { this.listeProfesseursTableAdapter1.Update (this.teccartHoraireDataSet.ListeProfesseurs); } –

Смежные вопросы