[C#] 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数据库的增删查改基本操作了,不过根据代码逻辑不同,实现效果也会不同。

演示只是采取了一种方式。

刚开始也许会遇到各种各样的问题,欢迎讨论!

  • 7
    点赞
  • 35
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
WPF是一种微软的用户界面技术,在WPF中可以使用数据绑定来将数据从数据库中读取或写入到用户界面中。其中包括增加、删除、修改和查询数据操作。数据绑定是WPF中的一个重要特性,它可以将用户界面和数据分离,只需要更新数据,就可以自动更新用户界面。 在WPF中,可以使用Ado.Net来进行数据库操作。Ado.Net是微软的一个数据访问技术,它允许通过各种途径来访问数据库,包括MS SQL Server、Oracle、MySQL等。 增加数据操作:在WPF中,可以使用命令或事件来响应添加数据操作。首先需要连接到数据库,然后通过Ado.Net的SqlCommand对象执行相关的SQL语句,将数据插入到数据库中。 删除数据操作:与增加数据操作类似,在WPF中,可以通过命令或事件来响应删除数据操作。首先需要连接到数据库,然后通过Ado.Net的SqlCommand对象执行相关的SQL语句,从数据库中删除对应的数据。 修改数据操作:修改数据与添加和删除数据操作类似,首先连接到数据库,然后通过Ado.Net的SqlCommand对象执行相关的SQL语句,将相应的数据更新到数据库中。 查询数据操作:在WPF中,可以通过绑定控件来查询数据库中的数据。首先需要连接到数据库,然后通过Ado.Net的SqlCommand对象执行相关的SQL语句,查询出数据集,并将数据集绑定到相应的控件上显示。 总之,在WPF应用程序中,可以通过Ado.Net对象连接到数据库,使用SqlCommand对象执行SQL语句进行增加、删除、修改和查询数据操作,并通过数据绑定将数据展示到用户界面上。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值