问题是 - 当程序正在运行时,我在datagrid中更改,添加和删除数据。 但是当我重新启动程序时 - 它从数据库加载所有数据而不做任何更改。(只添加数据工作)。
哪里有问题?
public partial class StudentsTable : Window
{
public StudentsTable()
{
InitializeComponent();
}
CourseWorkFinal.University0DataSet university0DataSet;
CourseWorkFinal.University0DataSetTableAdapters.StudentsTableAdapter university0DataSetStudentsTableAdapter;
private void Window_Loaded(object sender, RoutedEventArgs e)
{
university0DataSet = ((CourseWorkFinal.University0DataSet)(this.FindResource("university0DataSet")));
university0DataSetStudentsTableAdapter = new CourseWorkFinal.University0DataSetTableAdapters.StudentsTableAdapter();
university0DataSetStudentsTableAdapter.Fill(university0DataSet.Students);
System.Windows.Data.CollectionViewSource studentsViewSource = ((System.Windows.Data.CollectionViewSource)(this.FindResource("studentsViewSource")));
studentsViewSource.View.MoveCurrentToFirst();
university0DataSet.Students.StudentsRowChanged += new University0DataSet.StudentsRowChangeEventHandler(Modify);
university0DataSet.Students.StudentsRowDeleted +=
new University0DataSet.StudentsRowChangeEventHandler(Modify);
}
void Modify(object sender, University0DataSet.StudentsRowChangeEvent e)
{
university0DataSetStudentsTableAdapter.Update(university0DataSet.Students);
}
private void button1_Click(object sender, RoutedEventArgs e)
{
AddStudent x = new AddStudent();
x.Show();
}
private void button2_Click(object sender, RoutedEventArgs e)
{
// university0DataSetStudentsTableAdapter.Update(university0DataSet.Students);
}
}
答案 0 :(得分:1)
您必须将DataGridView中新添加的数据实际保存回数据库;它没有自动执行。
如果您想获得更自动的内容,可以尝试设置BindingSource
。这是一个关于
答案 1 :(得分:1)
要么您没有提交更改,要么使用某种类型的实例数据库作为项目的一部分,因此每次从Visual Studio编译/运行时都会被原始数据库覆盖。
需要提供有关如何设置数据库的更多详细信息,以便提供更好的答案。