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

news2024/11/9 21:33:49

一个基本的期刊信息管理系统的示例,使用 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 Form1
    Private Sub btnAdd_Click(sender As Object, e As EventArgs) Handles btnAdd.Click
        ' 添加期刊
        Dim title As String = txtTitle.Text
        Dim author As String = txtAuthor.Text
        Dim publicationDate As Date = dtpPublicationDate.Value.Date
        Dim newJournal As New Journal(title, author, publicationDate)

        ' 将新期刊添加到 DataGridView 中
        DataGridView1.Rows.Add(newJournal.Title, newJournal.Author, newJournal.PublicationDate.ToShortDateString())

        ' 清空输入框
        txtTitle.Clear()
        txtAuthor.Clear()
    End Sub

    Private Sub btnView_Click(sender As Object, e As EventArgs) Handles btnView.Click
        ' 查看期刊列表
        For Each row As DataGridViewRow In DataGridView1.Rows
            Console.WriteLine(row.Cells(0).Value.ToString())
        Next
    End Sub

    Private Sub btnEdit_Click(sender As Object, e As EventArgs) Handles btnEdit.Click
        ' 编辑选中的期刊
        If DataGridView1.SelectedRows.Count > 0 Then
            Dim selectedRow As DataGridViewRow = DataGridView1.SelectedRows(0)
            Dim title As String = txtTitle.Text
            Dim author As String = txtAuthor.Text
            Dim publicationDate As Date = dtpPublicationDate.Value.Date

            selectedRow.Cells(0).Value = title
            selectedRow.Cells(1).Value = author
            selectedRow.Cells(2).Value = publicationDate.ToShortDateString()

            ' 清空输入框
            txtTitle.Clear()
            txtAuthor.Clear()
        Else
            MessageBox.Show("请选择一行进行编辑。")
        End If
    End Sub

    Private Sub btnDelete_Click(sender As Object, e As EventArgs) Handles btnDelete.Click
        ' 删除选中的期刊
        If DataGridView1.SelectedRows.Count > 0 Then
            DataGridView1.Rows.RemoveAt(DataGridView1.SelectedRows(0).Index)
        Else
            MessageBox.Show("请选择一行进行删除。")
        End If
    End Sub

    Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
        ' 初始化界面
        DataGridView1.ColumnCount = 3
        DataGridView1.Columns(0).Name = "Title"
        DataGridView1.Columns(1).Name = "Author"
        DataGridView1.Columns(2).Name = "Publication Date"
    End Sub
End Class

Public Class Journal
    Public Property Title As String
    Public Property Author As String
    Public Property PublicationDate As Date

    Public Sub New(title As String, author As String, publicationDate As Date)
        Me.Title = title
        Me.Author = author
        Me.PublicationDate = publicationDate
    End 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.coloradmin.cn/o/2147186.html

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

相关文章

面试官问:你如何处理与同事或上级的分歧?【无标题】

面试官问:你如何处理与同事或上级的分歧? 当面试官问你如何处理与同事或上级的分歧,其实面试官的目的是评估你的沟通技巧、冲突解决能力和团队合作的能力。在一起共事,就一定有分歧发生,有争执是正常的,关…

OpenCV 1

前言:开新坑辽,, 目录 计算机眼中的图像 视频的读取与处理 ROI区域 边界填充 数值计算 腐蚀操作 膨胀操作 开运算与闭运算 梯度计算 礼貌与黑帽 Sobel算子 梯度计算方法 scharr与laplacian 计算机眼中的图像 灰色图片&#xff0…

ROS第四梯:ROS项目中添加自定义类

第一步,ROS项目结构介绍 工作空间中包含一个名为pcl_ros_test的功能包,其中main.cpp是原有项目自带的,接下来以CommonAlg自定义类添加为例进行介绍。 第二步:头文件CommonAlg.h创建和编写,并保存在include/pcl_ros_tes…

达梦数据库导入xml迁移到达梦数据库大文件导致中断问题解决方案记录?

问题:我将同事给我的xml文件迁移到盗梦数据库,xml文件大约2G,在导入过程中,总是导入一半都不到就失败了。 原因:我的原因是我的电脑的系统的运行内存是16G的,后来我发现在没导入之前,其他进程已…

GUI编程18:文本框、密码框、文本域

视频链接:20、文本框、密码框、文本域_哔哩哔哩_bilibilihttps://www.bilibili.com/video/BV1DJ411B75F?p20&vd_sourceb5775c3a4ea16a5306db9c7c1c1486b5 1.文本框 示例代码: package com.yundait.lesson06;import javax.swing.*; import java.a…

初始分布式系统和Redis特点(

(一)认识redis Redis是一个开源(BSD许可),内存存储的数据结构服务器,可用作数据库,高速缓存和消息队列代理。它支持字符串、哈希表、列表、集合、有序集合,位图,hyperlog…

『功能项目』QFrameWorkBug修改器界面【65】

我们打开上一篇64QFrameWork道具栏物品生成的项目, 本章要做的事情是做一个道具bug调试面板,可以增加主角属性,可以增加道具的功能 首先创建一个空物体(钉子) 按住Alt键将空物体钉到左侧 重命名为Left 创建Button、Im…

基于SpringBoot+Vue的企业会议室预定管理系统

作者:计算机学姐 开发技术:SpringBoot、SSM、Vue、MySQL、JSP、ElementUI、Python、小程序等,“文末源码”。 专栏推荐:前后端分离项目源码、SpringBoot项目源码、SSM项目源码 系统展示 【2025最新】基于JavaSpringBootVueMySQL的…

Qt实战案例(60)——利用QTimer类实现实时时间功能

目录 一、项目介绍二、项目基本配置三、UI界面设置四、主程序实现4.1 widget.h头文件4.2 widget.cpp源文件 五、效果演示 一、项目介绍 本文介绍利用QTimer类实现实时时间功能并在状态栏中进行显示。 二、项目基本配置 新建一个Qt案例,项目名称为“TimeTest”&am…

阿里通义千问开源Qwen2.5系列模型:Qwen2-VL-72B媲美GPT-4

通义千问团队近日重磅宣布,继其Qwen2模型发布仅三个月后,再次推出Qwen家族的全新成员——Qwen2.5系列语言模型,并已全面开源。这次开源行动堪称史上规模之最,涵盖了通用型Qwen2.5,以及专为编程和数学领域打造的Qwen2.5…

如何使用ssm实现基于ssm框架的车辆出租管理系统+vue

TOC ssm643基于ssm框架的车辆出租管理系统vue 第1章 绪论 1.1 课题背景 二十一世纪互联网的出现,改变了几千年以来人们的生活,不仅仅是生活物资的丰富,还有精神层次的丰富。在互联网诞生之前,地域位置往往是人们思想上不可跨域…

【python】【绘制小程序】动态爱心绘制

背景介绍 参考链接:https://blog.csdn.net/Python_HUHU/article/details/139703289点的背景颜色在开始修改;文字的颜色在最后修改。文字内容可以修改。 python 代码 import tkinter as tk import random from math import sin, cos, pi, log from PIL…

机房监控运维工作的全面优化:以监控易一体化运维软件为助力

在当今高度信息化的社会,数据中心的运维工作显得尤为重要。为了确保机房环境的稳定、服务器和存储设备的正常运行、操作系统和数据库的持续高效,以及中间件服务的可靠性,运维团队需要执行一系列精细化的管理和操作。本文将以监控易一体化运维…

计算机网路(应用层)

客户/服务方式(C/S)方式和对等方式(P2P方式) 客户/服务器方式(Client/Server,C/S)方式 客户/服务器是指通信中所涉及的两个应用进程。 客户/服务器方式所描述的是进程之间的服务和被服务的关…

【STL】priority_queue 基础,应用与操作

c在C的标准模板库(STL)中,priority_queue 是一个基于堆的容器适配器,用于实现优先级队列。它本质上是一个最大堆(Max-Heap),即每次取出元素时,始终取出优先级最高的元素。本文将详细…

VulnHub-Bilu_b0x靶机笔记

Bilu_b0x 靶机 概述 Vulnhub 的一个靶机,包含了 sql 注入,文件包含,代码审计,内核提权。整体也是比较简单的内容,和大家一起学习 Billu_b0x.zip 靶机地址: https://pan.baidu.com/s/1VWazR7tpm2xJZIGUS…

Java Web服务运行一段时间后出现cpu升高导致的性能下降问题排查

背景 有个web服务,运行一段时间后,出现cpu逐渐占用高,服务处理请求整体性能下降问题。 异常情况时, 同时jvm的cpu上涨 最终表现为,处理内部逻辑执行耗时变高。 排查原因 原来服务的jvm启动参数带了 -XX:-TieredCom…

云上办公项目总结

云尚办公系统是一套自动办公系统,系统主要包含:管理端和员工端 管理端包含:权限管理、审批管理、公众号菜单管理 员工端采用微信公众号操作,包含:办公审批、微信授权登录、消息推送等功能 项目服务器端架构&#xff…

动手学习RAG:大模型重排模型 bge-reranker-v2-gemma微调

动手学习RAG: 向量模型动手学习RAG: moka-ai/m3e 模型微调deepspeed与对比学习动手学习RAG:rerank模型微调实践 bge-reranker-v2-m3动手学习RAG:迟交互模型colbert微调实践 bge-m3动手学习RAG: 大模型向量模型微调 intfloat/e5-mistral-7b-instruct动手学…

光伏业务管理系统:全流程管理成重点

一、光伏业务管理的挑战 光伏业务管理涉及项目规划、设计选型、施工建设、运营维护、数据分析等多个环节,每一个环节都直接关系到项目的经济性、安全性和可持续性。传统的管理方式往往存在信息不对称、流程不透明、响应速度慢等问题,难以适应光伏产业快…