• C#中.NET Framework4.8 Windows窗体应用通过EF访问数据库并对数据库追加、删除记录


    目录

    一、应用程序设计

    二、应用程序源码

    三、生成效果


            前文作者发布了在.NET Framework4.8 控制台应用中通过EF访问已有数据库,事实上在.NET Framework4.8 Windows窗体应用中通过EF访问已有数据库也是一样的。操作方法基本一样,数据库EF模型和上下文都是自动生成的,在这里不再重复叙述,只把应用部分、窗体设计、生成效果分享出来。

    一、应用程序设计

            设计有一个窗体,dataGridView1显示数据库的数据表blog,textBox1的文本是要追加记录的网址,button1是追加按钮。textBox2的文本是要删除记录的ID,button2是删除按钮。

    二、应用程序源码

    1. //.NET Framework4.8窗体应用通过EF访问已有数据库
    2. //追加、删除数据库记录
    3. using System;
    4. using System.Data;
    5. using System.Drawing;
    6. using System.Linq;
    7. using System.Windows.Forms;
    8. namespace _10_7
    9. {
    10. public partial class Form1 : Form
    11. {
    12. public Form1()
    13. {
    14. InitializeComponent();
    15. }
    16. ///
    17. /// 初始化Form1
    18. /// 初始化表格,显示数据表
    19. ///
    20. private void Form1_Load(object sender, EventArgs e)
    21. {
    22. button1.Text = "追加";
    23. button2.Text = "删除";
    24. label1.Text = "追加的Url:";
    25. label2.Text = "删除的ID:";
    26. button1.Size = new Size(40, 23);
    27. button2.Size = new Size(40, 23);
    28. dataGridView1.AllowUserToAddRows = false;
    29. dataGridView1.AllowUserToDeleteRows = false;
    30. dataGridView1.AllowUserToResizeColumns = false;
    31. dataGridView1.AllowUserToResizeRows = false;
    32. dataGridView1.RowHeadersVisible = false;
    33. dataGridView1.AutoSizeColumnsMode=DataGridViewAutoSizeColumnsMode.AllCells;
    34. using (var db = new BloggingContext())
    35. {
    36. dataGridView1.DataSource = db.Blog.ToList();
    37. }
    38. }
    39. ///
    40. /// 追加Add()
    41. /// 无论ID是否连续,都在数据库末尾追加新纪录
    42. ///
    43. #region 追加
    44. private void Button1_Click(object sender, EventArgs e)
    45. {
    46. using (var db = new BloggingContext())
    47. {
    48. if (textBox1.Text != "")
    49. {
    50. db.Blog.Add(new Blog { Url = textBox1.Text.Trim().ToString() }); //追加记录
    51. db.SaveChanges();
    52. dataGridView1.DataSource = db.Blog.ToList();
    53. }
    54. else
    55. {
    56. db.Blog.Add(new Blog { Url = "http://www.hao123.com/" }); //追加记录
    57. db.SaveChanges();
    58. dataGridView1.DataSource = db.Blog.ToList();
    59. }
    60. }
    61. }
    62. #endregion 追加
    63. ///
    64. /// 删除Remove()
    65. ///
    66. #region 删除记录
    67. private void Button2_Click(object sender, EventArgs e)
    68. {
    69. using (var db = new BloggingContext())
    70. {
    71. db.Blog.Remove(new Blog { BlogId = Convert.ToInt32(textBox2.Text.Trim()) }); //删除记录按ID
    72. db.SaveChanges();
    73. dataGridView1.DataSource = db.Blog.ToList();
    74. }
    75. }
    76. #endregion 删除记录
    77. }
    78. }

    三、生成效果

     

     

  • 相关阅读:
    开机的时候推一个文件到系统
    32岁清华美女博导获奖百万,曾研制世界首台咽拭子采样机器人
    LeetCode 0485. 最大连续 1 的个数
    Spring修炼之路(5)整合MyBatis和事务
    git容易出问题的命令
    java毕业生设计学术会议信息网站计算机源码+系统+mysql+调试部署+lw
    Qt扫盲-QJsonDocument理论总结
    java-dubbo接口测试三种方式
    数据库锁介绍
    @Async
  • 原文地址:https://blog.csdn.net/wenchm/article/details/134378892