[C#] WPF数据库的增删查改 | 您所在的位置:网站首页 › dbhelper连接数据库与查询代码块 › [C#] WPF数据库的增删查改 |
之前的一篇写了WPF数据库的建立和使用
有的朋友们问到如何进行增删查改操作。 这篇文章就来详细的讲述一下。 因为非常详细,所以可以根据自己的需要查看自己需要的部分。 文章目录 之前的一篇写了WPF数据库的建立和使用上篇文章效果增加数据删除数据查询数据修改数据 上篇文章效果之前做到了WPF数据库内容的显示。 增加数据代码部分 代码块 private void Button_Click(object sender, RoutedEventArgs e) { user one = new user(); // 新建实体 one.Name = Add.Text; // 获取用户填入的数据 using (Database1Entities context = new Database1Entities()) { context.user.Add(one); // 将新建的数据加入到数据库 try { context.SaveChanges(); // 保存,成功提示,失败提示错误信息 MessageBox.Show("添加成功!"); } catch (Exception ex) { MessageBox.Show("添加失败" + ex.Message); } var q = from t in context.user // 重载数据显示在列表中 select t; info.ItemsSource = q.ToList(); } }这时候发现添加成功但是数据库的数据没有变化,那是因为数据存储到默认路径下的数据库中了,就是添加到的数据库和显示的数据库不是一个路径。为了方便,修改路径。 代码块 string dataDir = AppDomain.CurrentDomain.BaseDirectory; public MainWindow() { InitializeComponent(); if (dataDir.EndsWith(@"\bin\Release\") || dataDir.EndsWith(@"\bin\Debug\")) { dataDir = System.IO.Directory.GetParent(dataDir).Parent.Parent.FullName; AppDomain.CurrentDomain.SetData("DataDirectory", dataDir); } using (Database1Entities context = new Database1Entities()) { var q = from t in context.user select t; info.ItemsSource = q.ToList(); } }运行效果: 初始 点击添加按钮! 添加成功! 数据库中也有对应数据! 删除数据修改后台代码 private void BtnDelete_Click(object sender, RoutedEventArgs e) { var item = info.SelectedItem as user; // 获取选择的用户 if (item == null) { MessageBox.Show("请选择要删除的用户信息!"); return; } MessageBoxResult result = MessageBox.Show("您确定要删除该用户的信息吗?", "删除确认", MessageBoxButton.YesNo, MessageBoxImage.Question); if (result == MessageBoxResult.Yes) { using (Database1Entities context = new Database1Entities()) { var q = from t in context.user // 查找用户 where t.Id == item.Id select t; if (q != null) { try { context.user.Remove(q.First()); // 删除用户 context.SaveChanges(); MessageBox.Show("删除成功!"); } catch (Exception ex) { MessageBox.Show("删除失败!" + ex.Message); } } var list = from t in context.user // 重载数据显示在列表中 select t; info.ItemsSource = list.ToList(); context.Dispose(); } } }运行效果 数据库中的数据也被删除了! 查询数据初始化的时候就是查询的方法 修改数据修改代码 private void BtnUpdata_Click(object sender, RoutedEventArgs e) { var item = info.SelectedItem as user; // 获取选择的用户 if (item == null) { MessageBox.Show("请选择要修改的用户信息!"); return; } string newName = Add.Text; if (newName == "") { MessageBox.Show("输入不能为空!"); return; } using (Database1Entities context = new Database1Entities()) { var q = from t in context.user // 查找用户 where t.Id == item.Id select t; if (q != null) { q.FirstOrDefault().Name = newName; try { context.SaveChanges(); MessageBox.Show("修改成功!"); } catch (Exception ex) { MessageBox.Show("修改失败!" + ex.Message); } } var list = from t in context.user // 重载数据显示在列表中 select t; info.ItemsSource = list.ToList(); context.Dispose(); } }运行效果: 数据库的数据也被修改 综上,就是WPF数据库的增删查改基本操作了,不过根据代码逻辑不同,实现效果也会不同。 演示只是采取了一种方式。 刚开始也许会遇到各种各样的问题,欢迎讨论! |
CopyRight 2018-2019 实验室设备网 版权所有 |