Я создал служебную локальную базу данных с помощью Visual Studio 2013 Express Edition. Строка подключения, набор данных и TableAdapter были добавлены автоматически.TableAdapter Вставка не сохраняющихся данных
При нажатии кнопки я пытаюсь вставить некоторые данные, вызвав TableAdapter.Insert Поскольку у меня уже есть dataatource dataGridView, привязанный к набору данных, поэтому я сразу вижу, что данные были вставлены в таблицу правильно на время работы, но когда я закрываю приложение, фактический DB dosn't не содержит данных. Поэтому данные фактически не вставлены в БД.
Согласно http://msdn.microsoft.com/en-us/library/ms233812%28v=vs.110%29.aspx
С вставкой, вы должны только вставки вызова, пока я звоню Update и AcceptChanges на столе, в целях безопасности, а я попробовал первый способ, показанный в ссылке (т.е. создания строки и добавления он к набору данных, а затем вызывает обновление), но, похоже, данные вообще не вставляются в БД.
Наконец, код вставки, выстр является DataSet и та является TableAdapter
private void AddBtn_Click(object sender, EventArgs e)
{
ta.Insert("foo", "bar", 2, "zing", "tada");
ta.Fill(rds.reminders);
rds.reminders.AcceptChanges();
ta.Update(rds.reminders);
}
Похоже, вы вставляете запись затем перезаписать его с помощью вызова Fill (Didnt адаптеры используется в течение длительного времени, хотя). Работает ли она, когда прокомментирована вторая строка? – LINQ2Vodka
Это не перезаписывает данные, скорее, если я прокомментирую Fill, я даже не вижу эффекта на время выполнения в dataGridView. поэтому он не работает, когда его комментируют. – Omni
Если вы выполняете Insert, а затем AcceptChanges, он * будет * вставлять новую запись в базу данных (поскольку определен InsertCommand). Вероятно, GridView не отражал изменений, их нужно обновлять или что-то еще. – LINQ2Vodka