一个基于VB的期刊信息管理系统

一个基本的期刊信息管理系统的示例,使用 Visual Basic (VB.NET) 编写。这个示例将展示如何创建一个简单的期刊信息管理系统,其中包括添加、查看、编辑和删除期刊的功能。

在这里插入图片描述

系统需求

  1. 添加期刊:允许用户输入期刊的信息(如标题、作者、出版日期等)并保存。
  2. 查看期刊:显示已保存的期刊列表。
  3. 编辑期刊:允许用户修改现有期刊的信息。
  4. 删除期刊:允许用户从列表中移除期刊记录。

环境配置

确保你已经安装了 Visual Studio,并且创建了一个新的 Windows Forms 应用程序项目。

步骤

1. 创建界面

在 Visual Studio 中创建一个新的 Windows Forms 应用程序项目,并添加以下控件:

  • TextBox 控件:用于输入期刊的标题、作者、出版日期等信息。
  • Button 控件:用于执行添加、查看、编辑和删除操作。
  • DataGridView 控件:用于显示期刊列表。
2. 设计界面布局

设计一个简单的布局,包括输入字段和按钮。

3. 编写代码

Form1.vb 文件中编写以下代码:

Public Class Form1Private Sub btnAdd_Click(sender As Object, e As EventArgs) Handles btnAdd.Click' 添加期刊Dim title As String = txtTitle.TextDim author As String = txtAuthor.TextDim publicationDate As Date = dtpPublicationDate.Value.DateDim newJournal As New Journal(title, author, publicationDate)' 将新期刊添加到 DataGridView 中DataGridView1.Rows.Add(newJournal.Title, newJournal.Author, newJournal.PublicationDate.ToShortDateString())' 清空输入框txtTitle.Clear()txtAuthor.Clear()End SubPrivate Sub btnView_Click(sender As Object, e As EventArgs) Handles btnView.Click' 查看期刊列表For Each row As DataGridViewRow In DataGridView1.RowsConsole.WriteLine(row.Cells(0).Value.ToString())NextEnd SubPrivate Sub btnEdit_Click(sender As Object, e As EventArgs) Handles btnEdit.Click' 编辑选中的期刊If DataGridView1.SelectedRows.Count > 0 ThenDim selectedRow As DataGridViewRow = DataGridView1.SelectedRows(0)Dim title As String = txtTitle.TextDim author As String = txtAuthor.TextDim publicationDate As Date = dtpPublicationDate.Value.DateselectedRow.Cells(0).Value = titleselectedRow.Cells(1).Value = authorselectedRow.Cells(2).Value = publicationDate.ToShortDateString()' 清空输入框txtTitle.Clear()txtAuthor.Clear()ElseMessageBox.Show("请选择一行进行编辑。")End IfEnd SubPrivate Sub btnDelete_Click(sender As Object, e As EventArgs) Handles btnDelete.Click' 删除选中的期刊If DataGridView1.SelectedRows.Count > 0 ThenDataGridView1.Rows.RemoveAt(DataGridView1.SelectedRows(0).Index)ElseMessageBox.Show("请选择一行进行删除。")End IfEnd SubPrivate Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load' 初始化界面DataGridView1.ColumnCount = 3DataGridView1.Columns(0).Name = "Title"DataGridView1.Columns(1).Name = "Author"DataGridView1.Columns(2).Name = "Publication Date"End Sub
End ClassPublic Class JournalPublic Property Title As StringPublic Property Author As StringPublic Property PublicationDate As DatePublic Sub New(title As String, author As String, publicationDate As Date)Me.Title = titleMe.Author = authorMe.PublicationDate = publicationDateEnd Sub
End Class

说明

  1. btnAdd_Click 事件:当点击“添加”按钮时,从输入框获取期刊信息,并将其添加到 DataGridView 控件中。
  2. btnView_Click 事件:当点击“查看”按钮时,可以遍历 DataGridView 中的数据并显示。
  3. btnEdit_Click 事件:当点击“编辑”按钮时,如果选中了一行,则更新该行的数据。
  4. btnDelete_Click 事件:当点击“删除”按钮时,如果选中了一行,则删除该行。

注意事项

  • 这是一个基本的示例,没有数据库持久化功能。为了使系统更加完善,你可以将数据存储在数据库中,如 SQL Server 或 SQLite,并使用 ADO.NET 或 Entity Framework 进行数据访问。
  • 本示例没有包含错误处理逻辑,实际应用中需要添加适当的异常处理来确保程序的健壮性。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/54302.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

OpenAI GPT o1技术报告阅读(3)-英文阅读及理解

✨继续阅读报告:使用大模型来学习推理(Reason) 原文链接:https://openai.com/index/learning-to-reason-with-llms/ 这次我们继续看一个英文阅读理解的案例。 原问题: The following passage is the draft of an excerpt from a contempora…

条件编译代码记录

#include <iostream>// 基类模板 template<typename T> class Base { public:void func() {std::cout << "Base function" << std::endl;} };// 特化的子类 template<typename T> class Derived : public Base<T> { public:void…

MYSQL数据库——MYSQL管理

MYSQL数据库安装完成后&#xff0c;自带四个数据库&#xff0c;具体作用如下&#xff1a; 常用工具 1.mysql 不是指mysql服务&#xff0c;而是指mysql的客户端工具 例如&#xff1a; 2.mysqladmin 这是一个执行管理操作的客户端程序&#xff0c;可以用它来检查服务器的配置和…

多线程篇六

多线程篇六 如笔者理解有误欢迎交流指正~⭐ 什么是单例模式&#xff1f; 单例模式是最常见的 设计模式. 顾名思义&#xff0c;单例模式指的就是单个实例的模式.&#xff08;针对某些类只能使用一个对象的场景【如MySQL、JDBC、DataSource】&#xff09; 设计模式 设计模式是…

数据结构之二叉树(1)

数据结构之二叉树&#xff08;1&#xff09; 一、树 1、树的概念与结构 &#xff08;1&#xff09;树是一种非线性的数据结构&#xff0c;由n(n>0)个有限结点组成一个具有层次关系的集合。 &#xff08;2&#xff09;树有一个特殊的结点&#xff0c;叫做根结点&#xff…

Linux:Bash中的文件描述符

相关阅读 Linuxhttps://blog.csdn.net/weixin_45791458/category_12234591.html?spm1001.2014.3001.5482 Linux中的所有进程&#xff0c;都拥有自己的文件描述符(File Descriptor, FD)&#xff0c;它是操作系统在管理进程和文件时的一种抽象概念。每个文件描述符由一个非负整…

【Mac】系统环境配置

常用工具 Navicat PJ版本&#xff1a;this 提取密码&#xff1a;v31p Host切换器 SwitchHosts termius 一款好用的Linux服务器连接工具&#xff1a; termius 小飞机 dddd&#xff1a;&#x1fa9c; Git mac安装git有好多种方式&#xff0c;自带的xcode或者通过Homebr…

[数据集][目标检测]智慧交通铁路异物入侵检测数据集VOC+YOLO格式802张7类别

数据集格式&#xff1a;Pascal VOC格式YOLO格式(不包含分割路径的txt文件&#xff0c;仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件) 图片数量(jpg文件个数)&#xff1a;802 标注数量(xml文件个数)&#xff1a;802 标注数量(txt文件个数)&#xff1a;802 标注类别…

pytorch快速入门(一)—— 基本工具及平台介绍

前言 该pytorch学习笔记应该配合b站小土堆的《pytorch深度学习快速入门教程》使用 环境配置&#xff1a;Anaconda Python编译器&#xff1a;pycharm、jupyter 两大法宝函数 dir&#xff08;&#xff09;&#xff1a;知道包中有什么东西&#xff08;函数 / 属性..…

C++的封装

手动封装一个顺序表&#xff08;SeqList&#xff09;,分文件编译实现 有私有成员&#xff1a;顺序表数组的起始地址 ptr、 顺序表的总长度&#xff1a;size、顺序表的实际长度&#xff1a;len 成员函数&#xff1a;初始化 init(int n) 判空&#xff1a;empty 判满&#xff1a;f…

【计算机网络 - 基础问题】每日 3 题(一)

✍个人博客&#xff1a;Pandaconda-CSDN博客 &#x1f4e3;专栏地址&#xff1a;http://t.csdnimg.cn/fYaBd &#x1f4da;专栏简介&#xff1a;在这个专栏中&#xff0c;我将会分享 C 面试中常见的面试题给大家~ ❤️如果有收获的话&#xff0c;欢迎点赞&#x1f44d;收藏&…

云手机的便捷性和安全性体现在哪?

随着5G技术的迅速发展&#xff0c;云手机在游戏、电商以及新媒体营销等领域中的应用日益广泛。它不仅能够显著降低成本、提升效率&#xff0c;还随着边缘计算和云技术的进步&#xff0c;展现出无限的增长潜力。 云手机的便捷性体现在哪里&#xff1f; 云手机的便捷性毋庸置疑。…

基于ExtendSim的 电子制造 仿真模型

说明&#xff1a; 此模型表示电路板制造设施。该过程有4个步骤&#xff1a; *焊料制备 *组件放置 *烤箱 *检查 详情&#xff1a; *烤箱的容量为10张卡&#xff0c;但如果烤箱循环开始时仅能处理5张卡&#xff0c;则最多只能处理5张。 *如果检查员发现问题&#xff0c;他们将修理…

大数据新视界 --大数据大厂之 Cassandra 分布式数据库:高可用数据存储的新选择

&#x1f496;&#x1f496;&#x1f496;亲爱的朋友们&#xff0c;热烈欢迎你们来到 青云交的博客&#xff01;能与你们在此邂逅&#xff0c;我满心欢喜&#xff0c;深感无比荣幸。在这个瞬息万变的时代&#xff0c;我们每个人都在苦苦追寻一处能让心灵安然栖息的港湾。而 我的…

【matlab】将程序打包为exe文件(matlab r2023a为例)

文章目录 一、安装运行时环境1.1 安装1.2 简介 二、打包三、打包文件为什么很大 一、安装运行时环境 使用 Application Compiler 来将程序打包为exe&#xff0c;相当于你使用C编译器把C语言编译成可执行程序。 在matlab菜单栏–App下面可以看到Application Compiler。 或者在…

数据结构和算法之线性结构

原文出处:数据结构和算法之线性结构 关注码农爱刷题&#xff0c;看更多技术文章&#xff01;&#xff01;&#xff01; 线性结构是一种逻辑结构&#xff0c;是我们编程开发工作应用最广泛的数据结构之一。线性结构是包含n个相同性质数据元素的有限序列。它的基本特征是&…

docker入门安装及使用

docker概述 docker是一种容器技术&#xff0c;它提供了标准的应用镜像&#xff08;包含应用和应用多需要的依赖&#xff09;&#xff0c;因此&#xff0c;我们可以非常轻松的在docker中安装应用&#xff0c;安装好的应用相当于一个独立的容器 如下图所示&#xff0c;为docker中…

如何将Git本地代码推送到Gitee云端仓库

如何将Git本地代码推送到Gitee云端仓库 在使用Git进行版本控制时&#xff0c;将本地代码推送到远程仓库是一个基本且重要的操作。本文将详细介绍如何将你的Git本地代码推送到Gitee&#xff08;码云&#xff09;云端仓库。Gitee是一个国内非常流行的代码托管平台&#xff0c;类…

Redis 执行 Lua,能保证原子性吗?

前言 小张目前在使用分布式锁 Redisson 实现一个需求。那我在想我能否自己手撸一个能用于分布式环境的锁呢&#xff1f;于是果然尝试。 历经一天后&#xff0c;小张手撸的锁终于写出来了&#xff0c;再次给各位看看&#xff0c;看给位有没有什么优化的建议&#xff1a; // 加…

VSCode 定义代码模板

在使用编写代码的过程中&#xff0c;经常会写一些固定代码段。 以 Java 为例&#xff0c;定义实体类时一般都会编写序列化版本号&#xff1a; Serial private static final long serialVersionUID 1L;这段代码是固定写法&#xff0c;基本不会变&#xff0c;如果每次都手写的…