Как обновить базу данных с помощью сетки данных Windows Form? (Visual Studio 2010) - PullRequest
2 голосов
/ 22 октября 2011

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

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

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

Ответы [ 3 ]

0 голосов
/ 22 октября 2011

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

0 голосов
/ 22 октября 2011

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

0 голосов
/ 22 октября 2011

Вы можете обновить свою базу данных с помощью 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);

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...