Как обновить базу данных с помощью таблицы данных Windows Form? (Visual Studio 2010)

#c# #database #visual-studio-2010 #datagrid #sql-update

#c# #База данных #visual-studio-2010 #datagrid #sql-обновление

Вопрос:

Когда я перетаскиваю таблицу из DataSet в свою форму Windows, по умолчанию создаются BindingNavigator и DataGridView. Теперь, когда я запускаю проект, добавляю строки в DataGridView, сохраняю его перед выходом, а затем повторно запускаю проект, добавленные строки присутствуют, но когда я захожу в обозреватель серверов для просмотра табличных данных, этих строк в базе данных нет.

При поиске я обнаружил, что Visual Studio создает копию моей базы данных в папке /bin / Debug и выполняет все изменения в этой копии базы данных. Есть ли способ убедиться, что новая копия создается в каталоге проекта, чтобы старая копия изменялась вместо создания ее в другом каталоге? Или любой другой способ обновить исходную базу данных?

p.s. Изменение свойства базы данных «Копировать в выходной каталог» на «Не копировать» не решило проблему.

Ответ №1:

Вы можете обновить свою базу данных с помощью SqlAdapter.

 // load data
if(ds != null)
        ds.Clear();
adap = new SqlDataAdapter("select id,title, description from testtable", con);
ds = new DataSet();
adap.Fill(ds);
dataGrid1.DataSource = ds.Tables[0];


// perform update
SqlCommandBuilder com = new SqlCommandBuilder(adap);
foreach(DataRow dr in ds.Tables[0].Rows)
        dr["title"] = txtTitle.Text;
adap.Update(ds);
  

надеюсь, это поможет

Комментарии:

1. На данный момент код, написанный по умолчанию: // TODO: эта строка кода загружает данные в таблицу ‘database1DataSet.emp’. Вы можете переместить или удалить его по мере необходимости. code this.empTableAdapter. Fill(this.database1DataSet.emp); // И этот фрагмент кода сохраняет данные: this . Validate(); this.empBindingSource . EndEdit(); this.TableAdapterManager. UpdateAll(this.database1DataSet); Что не так с этим кодом?

Ответ №2:

Когда вы создавали свой набор данных, вы сняли флажок «Включить локальное кэширование базы данных» на экране «Мастер настройки источника данных»?

Комментарии:

1. Да, я снял флажок. На самом деле это было снято по умолчанию.

Ответ №3:

Вместо использования привязки. Вы можете использовать настройки приложения. Записывается просто XML-файл!