.Net学习
.net开发爱好者
展开
-
C# 综合示例 库存管理系统7 主界面(FormMain)
主界面是多文档界面容器,需要将窗体属性IsMdiContainer设置为True。关于多文档界面编程请参看教程第7.12节《多文档界面》。为了更好控制用户界面,FormMain窗体中showWindow()方法仅允许同一时间显示一个子窗体。主界面并不提供具体操作,只是一个显示其它窗口的容器,其工具栏上按钮打开对应功能的窗体。检查库存信息窗体是否打开。原创 2025-04-26 00:30:00 · 339 阅读 · 0 评论 -
C# 综合示例 库存管理系统5 ClassMd5类
为了方便使用,《库存管理系统》中建立了ClassMd5类,提供了共享方法 toMD5(),可以不用实例化ClassMd5类就可调用toMD5()方法来进行加密。由于《库存管理系统》为管理员和操作员设置了密码登录,因此对于密码需要一定的加密,本教程中使用的是MD5加密方式。学习更多C#知识,请参看。关于加密,请参看教程第。原创 2025-04-25 00:30:00 · 24 阅读 · 0 评论 -
C# 综合示例 库存管理系统4 classMod类
在《库存管理系统》中使用classMod类来保存全局变量。学习更多C#知识,请参看。原创 2025-04-25 00:15:00 · 134 阅读 · 0 评论 -
C# 综合示例 库存管理系统3 窗体设计总览
主界面提供了库存信息、入库操作、出库操作等功能,由于本《库存管理系统》主要是针对“库存”,因此提供的操作与基本的入库出库有关,如果各位朋友需要更多功能,可以在此基础上扩展即可。出库单操作(FormStorageOutOrder):可在此窗口新增、修改出库单信息。入库单操作(FormStorageInOrder):可在此窗口新增、修改入库单信息。主要提供了库存信息查看、查询功能,同时管理员可以增加、修改、删除。主要提供了入库信息查看、查询、增加、修改、删除。主要提供了出库信息查看、查询、增加、修改、删除。原创 2025-04-24 00:30:00 · 267 阅读 · 0 评论 -
C# 综合示例 库存管理系统2 数据库架构
操作员表中同时保存了管理员的账号密码,管理员和操作员区别,主要是在《库存管理系统》中权限不同,也就是可以操作的内容不同,我会在后面窗体设计中做说明。同样,考虑到出库货物可能有多个,因此除了出库单表,还需要出库单明细表来保存出库单对应了哪些货物、货物的出库价格以及数量。保存货物入库时账单的编号、操作员、订购日期、入库日期,考虑到入库货物可能有多个,因此除了入库单表,还需要入库单明细表来保存入库单对应了哪些货物、货物的采购价格以及数量。入库单.入库单ID和入库单明细.入库单ID对应。保存货物类别的相关信息。原创 2025-04-24 00:15:00 · 765 阅读 · 0 评论 -
开发实践教程1:试卷生成系统 1 前言和目录
虽然此前VB.Net教程中已经发布过《库存管理系统》作为VB.Net教程综合开发的实例,但是《库存管理系统》使用的是Access数据库,不适合多用户环境使用。同时,本系统的代码也为毕业生设计和答辩提供了开发参考,而且本程序也具备一定商用价值。(3)数据事务操作,详见《6.12 试卷管理(FormTestPaperManager)》。2、操作Word进行文档输出,详见《6.7 试卷生成(FormTestPaper)》。(2)数据批量保存,详见《6.7 试卷生成(FormTestPaper)》。原创 2023-03-11 21:23:03 · 301 阅读 · 0 评论 -
公司年会抽奖程序
版权声明:本文为博主原创文章,转载请在显著位置标明本文出处以及作者网名,未经作者允许不得用于商业目的。本来是应一个网友要求写的。不过由于疫情,他们的年会取消了。这里把代码放出来。抽奖程序实现了1、对特等奖、一至五等奖、幸运奖的抽奖;2、管理只能参加幸运奖(也就是小奖);3、按照各个奖项设置的人数进行抽奖;4、抽中特等奖、一至五等奖的人员不重复;5、中奖时播放庆祝声音;6、对中奖画面截图确保奖项不被调换。运行时图片:程序中的图片来源于网络。两个窗体:Form1用于显示抽奖时界面.原创 2022-01-11 21:17:32 · 2195 阅读 · 0 评论 -
开发实践教程1:试卷生成系统7 总结
版权声明:本文为博主原创文章,转载请在显著位置标明本文出处以及作者网名,未经作者允许不得用于商业目的。 如前言所述,《试卷生成系统》本来是帮助朋友做的设计,但是由于某些原因没有使用,笔者用来作为弥补教程中缺少综合示例。由于设计时间较短,未能做详细的测试,程序可能会有些遗漏或者Bug。 可以在此基础上增加 1、操作日志:记录管理员、用户对数据库操作时间和操作动作。 2、其他,还在想。。。。 3、...原创 2021-08-31 22:15:08 · 194 阅读 · 0 评论 -
开发实践教程1:试卷生成系统6.22 关于和帮助(FormAbout)
版权声明:本文为博主原创文章,转载请在显著位置标明本文出处以及作者网名,未经作者允许不得用于商业目的。提供《试卷生成系统》关于和帮助信息,这里没有实际加入帮助内容,读者可以根据需要增加相应内容。关于实现帮助,可以参考教程《26.1 为用户提供帮助》窗体设计如下:图1-32具体代码如下:Public Class FormAbout Private Sub btnClose_Click(sender As Object, e As EventArgs) Handles btnC原创 2021-08-31 22:12:38 · 149 阅读 · 0 评论 -
开发实践教程1:试卷生成系统6.21 用户信息(FormSelfInfo)
版权声明:本文为博主原创文章,转载请在显著位置标明本文出处以及作者网名,未经作者允许不得用于商业目的。查看自己的信息,包括对自己设计的题目和试卷的简单统计,读者可以根据需要增加更多内容。窗体设计如下:图1-31具体代码如下:Imports System.Data.SqlClientPublic Class FormSelfInfo Private Sub FormSelfInfo_Load(sender As Object, e As EventArgs) Hand原创 2021-08-31 22:11:19 · 135 阅读 · 0 评论 -
开发实践教程1:试卷生成系统6.20 密码修改(FormPass)
版权声明:本文为博主原创文章,转载请在显著位置标明本文出处以及作者网名,未经作者允许不得用于商业目的。用户可以修改密码。窗体设计如下:图1-30具体代码如下:Imports System.Data.SqlClientPublic Class FormPass Dim connection As SqlConnection Private Sub FormUser_Load(sender As Object, e As EventArgs) Handles .原创 2021-08-31 22:06:29 · 171 阅读 · 0 评论 -
开发实践教程1:试卷生成系统6.19用户备注(FormUserMemo)
设置用户备注。窗体设计如下:图1-29具体代码如下:Imports System.Data.SqlClientPublic Class FormUserMemo Dim UserId As Integer Dim UserName As String Dim UserTrueName As String Dim UserNumber As String Dim UserMemo As String Dim fUserList As.原创 2021-08-31 22:05:07 · 140 阅读 · 0 评论 -
开发实践教程1:试卷生成系统6.18用户查询(FormUserQuery)
设置搜索用户相关条件。窗体设计如下:图1-28具体代码如下:Public Class FormUserQuery Dim fUserList As New FormUserList Private Sub FormUserQuery_Load(sender As Object, e As EventArgs) Handles MyBase.Load Call drawUI() fUserList = Me.Owner.ActiveM.原创 2021-08-31 22:04:04 · 149 阅读 · 0 评论 -
开发实践教程1:试卷生成系统6.17 用户管理(FormUserList)
版权声明:本文为博主原创文章,转载请在显著位置标明本文出处以及作者网名,未经作者允许不得用于商业目的。仅管理员可用操作员对普通用户的启用、禁用或停用、设置默认密码、设置用户备注信息。窗体设计如下:图1-27具体代码如下:Imports System.Data.SqlClientPublic Class FormUserList Dim connection As SqlConnection Dim ds As DataSet Dim adapter原创 2021-08-31 22:02:58 · 144 阅读 · 0 评论 -
开发实践教程1:试卷生成系统6.16 试卷类型管理(FormPaperType)
版权声明:本文为博主原创文章,转载请在显著位置标明本文出处以及作者网名,未经作者允许不得用于商业目的。仅管理员可用增加、修改试卷类型,管理员根据需要进行设置,通常设置好后不再修改。同样,为了防止试卷类型删除引发错误,管理员设置一次后就不再操作或仅能更新、不可删除。窗体设计如下:图1-26具体代码如下:Imports System.Data.SqlClientPublic Class FormPaperType Dim connection As SqlConnec.原创 2021-08-31 22:01:44 · 184 阅读 · 0 评论 -
开发实践教程1:试卷生成系统6.15 考题类型管理(FormExamType)
版权声明:本文为博主原创文章,转载请在显著位置标明本文出处以及作者网名,未经作者允许不得用于商业目的。仅管理员可用增加、更新考题类型,通常情况下,为了防止考题类型删除引发错误,管理员设置一次后就不再操作或仅能更新、不可删除。窗体设计如下:图1-25具体代码如下:Imports System.Data.SqlClientPublic Class FormExamType Dim connection As SqlConnection Private Su.原创 2021-08-31 22:00:32 · 124 阅读 · 0 评论 -
开发实践教程1:试卷生成系统6.14 更新试卷信息(FormPaperInfoUpdate)
版权声明:本文为博主原创文章,转载请在显著位置标明本文出处以及作者网名,未经作者允许不得用于商业目的。更新用户自己创建的试卷的信息。考虑到当试卷是完善的试卷(既包含试卷信息,又包含具体题目的试卷)时,如果修改数据,可能会导致试卷信息和题目信息不一致,从而引发错误,因此这里仅能修改试卷名称和试卷说明。窗体设计如下:图1-24具体代码如下:Imports System.Data.SqlClientPublic Class FormPaperInfoUpdate Dim c.原创 2021-08-31 21:59:15 · 155 阅读 · 0 评论 -
开发实践教程1:试卷生成系统6.13 试卷搜索(FormPaperManagerQuery)
版权声明:本文为博主原创文章,转载请在显著位置标明本文出处以及作者网名,未经作者允许不得用于商业目的。设置试卷管理时搜索的相关条件。窗体设计如下:图1-23具体代码如下:Imports System.Data.SqlClientPublic Class formPaperManagerQuery Dim connection As SqlConnection Dim lstExamType As New List(Of Integer) Dim .原创 2021-08-31 21:58:05 · 142 阅读 · 0 评论 -
开发实践教程1:试卷生成系统6.12 试卷管理(FormTestPaperManager)
版权声明:本文为博主原创文章,转载请在显著位置标明本文出处以及作者网名,未经作者允许不得用于商业目的。当试卷生成后在“试卷生成”界面调整试卷信息比较复杂,因此单独设置“试卷管理”,允许用户更新自己创建的试卷的信息(仅试卷名称和试卷说明),还提供“删除”试卷功能,执行删除时除了删除《用户试卷表》内的数据外,还将删除《用户试卷详表》内相关的数据。窗体设计如下:图1-22在删除试卷时,使用了SqlTransaction类,通过此类可以在MS Sql数据库中生成的Transact-SQL .原创 2021-08-31 21:56:26 · 333 阅读 · 0 评论 -
开发实践教程1:试卷生成系统6.11 选择考题(FormChooseExam)
版权声明:本文为博主原创文章,转载请在显著位置标明本文出处以及作者网名,未经作者允许不得用于商业目的。根据条件搜索并添加或更改考题。为了确保可以搜索相关考题,因此这里可以选择其它试卷类型下面的考题。窗体设计如下:图1-21具体代码如下:Imports System.Data.SqlClientPublic Class FormChooseExam Dim connection As SqlConnection Dim ds As DataSet Di.原创 2021-08-31 21:54:43 · 139 阅读 · 0 评论 -
开发实践教程1:试卷生成系统6.10 载入试卷(FormLoadTestPaper)
版权声明:本文为博主原创文章,转载请在显著位置标明本文出处以及作者网名,未经作者允许不得用于商业目的。通过“载入试卷”窗体可以查询自己已经建立的所有试卷(包括完善的试卷和不完善的试卷)。考虑到可以吸收别人的先进经验,因此可以查询别人建立的完善的试卷,并载入相应的信息和题目。窗体设计如下:图1-20具体代码如下:Imports System.Data.SqlClientPublic Class FormLoadTestPaper Dim connection As Sq.原创 2021-08-31 21:53:12 · 160 阅读 · 0 评论 -
开发实践教程1:试卷生成系统6.9 题型选择(FormSingleExamType)
版权声明:本文为博主原创文章,转载请在显著位置标明本文出处以及作者网名,未经作者允许不得用于商业目的。在“试卷信息”窗体中添加题型、数量以及对应分数。窗体设计如下:图1-19具体代码如下:Imports System.Data.SqlClientPublic Class FormSingleExamType Dim connection As SqlConnection Dim lstExamTypeIndex As List(Of Integer) .原创 2021-08-31 21:51:40 · 150 阅读 · 0 评论 -
开发实践教程1:试卷生成系统6.8 试卷信息(FormTestPaperInfo)
版权声明:本文为博主原创文章,转载请在显著位置标明本文出处以及作者网名,未经作者允许不得用于商业目的。在此窗体新建试卷信息,如: 试卷名称、试卷类型、考题类型、考试时间等。当试卷是不完善的试卷(只有试卷信息而没有保存具体题目的试卷)时,可以修改试卷信息,当试卷是完善的试卷(既包含试卷信息,又包含具体题目的试卷)时,不能修改。窗体设计如下:图1-18如果从新建试卷处进入,那么最后点击“新增”会保存设计的试卷信息。在ListView中添加题型信息时,需要判断是否已经添加相应题型,如果添加原创 2021-08-31 21:48:45 · 204 阅读 · 0 评论 -
开发实践教程1:试卷生成系统6.7 试卷生成(FormTestPaper)
版权声明:本文为博主原创文章,转载请在显著位置标明本文出处以及作者网名,未经作者允许不得用于商业目的。提供功能:新建试卷、载入试卷、自动填充试卷、保存设计好的试卷、输出Word文档。窗体设计如下:图1-17在此窗体设计中可能遇到的问题:1、随机选题为了实现自动填充试卷题目,代码中使用了随机选题的方式,具体操作是在Sql语句最后加上“order by newid()”语句。当试卷中选择的题目不足时,datagridview中对应行的题目将保持空白。但是考虑可能可以从别的试卷类型选择原创 2021-08-31 21:46:17 · 825 阅读 · 0 评论 -
开发实践教程1:试卷生成系统6.6 考题(FormExamSingle)
版权声明:本文为博主原创文章,转载请在显著位置标明本文出处以及作者网名,未经作者允许不得用于商业目的。增加、修改或查看考题。窗体设计如下:图1-16考虑到考题中可能出现图片,需要将图片也保存到数据库。代码中使用saveImg()方法来保存、更新或删除图片。由于保存图片时二进制操作可能涉及到的数据比较大,因此这里增加了对图片是否修改的判断,如果修改或新增了,那么才调用图片保存的语句。关于保存图片数据到数据库,请参看教程第19.4.6节《读写二进制数据》具体代码如下:Impo.原创 2021-08-31 21:45:01 · 185 阅读 · 0 评论 -
开发实践教程1:试卷生成系统6.5 考题搜索(FormExamQuery)
版权声明:本文为博主原创文章,转载请在显著位置标明本文出处以及作者网名,未经作者允许不得用于商业目的。设置考题搜索相关条件。窗体设计如下:图1-15在FormExam中先定义了一个公共(public)变量:Public customWhere As String当需要设置自定义查询时,通过以下代码打开窗体FormExamQuery:Dim fExamSingle As New FormExamQueryfExamSingle.ShowDialog(Me)在FormE.原创 2021-08-31 21:43:39 · 146 阅读 · 0 评论 -
开发实践教程1:试卷生成系统6.4 考题管理(FormExam)
版权声明:本文为博主原创文章,转载请在显著位置标明本文出处以及作者网名,未经作者允许不得用于商业目的。用户权限可新增题目,仅可查看、查询、修改、停用自己创建的题目,管理员权限则不限于自己的题目。窗体设计如下:图1-14如果题目较多,一次性显示可能会影响性能和交互体验,因此在显示时对数据进行了分页。关于如何分页显示数据,请参看教程第19.5.3.7节《分页显示数据》。通常情况下,sql查询分为四个部分:select、from、where、order by,因此每一次sql查询,实.原创 2021-08-31 21:42:28 · 205 阅读 · 0 评论 -
开发实践教程1:试卷生成系统6.3 主界面(FormMain)
版权声明:本文为博主原创文章,转载请在显著位置标明本文出处以及作者网名,未经作者允许不得用于商业目的。主界面提供了试卷生成、试卷管理、考题管理等功能,另外试卷类型管理、考题类型管理、用户管理等功能只有管理员才有权限操作。窗体设计如下:图1-13主界面是多文档界面容器,需要将窗体属性IsMdiContainer设置为True。关于多文档界面编程请参看教程第7.12节《多文档界面》。主界面并不提供具体操作,只是一个显示其它窗口的容器,其工具栏上按钮打开对应功能的窗体。为了更好控制用.原创 2021-08-31 21:40:58 · 239 阅读 · 0 评论 -
开发实践教程1:试卷生成系统6.2 用户注册界面(FormRegist)
版权声明:本文为博主原创文章,转载请在显著位置标明本文出处以及作者网名,未经作者允许不得用于商业目的。新用户需要通过此界面输入信息,提交注册申请。窗体设计如下:图1-12此窗口中需要注意:1、当”账号名称“失去焦点时,验证该账号是否已经被使用,如果已经被使用,则显示错误标识并提示。2、对输入的信息进行验证,特别是如果录入的身份证号码已经存在,给出错误提示。3、输入并提交账号信息后,将数据保存到《用户表》,将对应”状态“设置为”申请“。具体代码如下:Imports..原创 2021-08-31 21:39:19 · 185 阅读 · 0 评论 -
开发实践教程1:试卷生成系统6.1 登录界面(FormLogin)
版权声明:本文为博主原创文章,转载请在显著位置标明本文出处以及作者网名,未经作者允许不得用于商业目的。需要通过输入账号ID和密码登录,其中需要选择对应账户类型(普通用户还是管理员)进行登录。窗体设计如下:图1-11在此窗体中有两件重要工作:1、载入时,设置数据库的连接语句:databaseConnString = "server=192.168.1.5\;Database=examination;uid=Exam;pwd=Exam321654;"连接语句具体参数分别是服务器.原创 2021-08-31 21:37:41 · 268 阅读 · 0 评论 -
开发实践教程1:试卷生成系统6 窗体设计总览
版权声明:本文为博主原创文章,转载请在显著位置标明本文出处以及作者网名,未经作者允许不得用于商业目的。1、登录界面(FormLogin)需要通过输入账号ID和密码登录,其中需要选择对应账户类型(普通用户还是管理员)进行登录。2、用户注册界面(FormRegist)新用户需要通过此界面输入信息,提交注册申请。3、进入之后显示主界面(FormMain)主界面提供了试卷生成、试卷管理、考题管理等功能,另外试卷类型管理、考题类型管理、用户管理等功能只有管理员才有权限操作。如果各位朋友原创 2021-08-31 21:36:06 · 287 阅读 · 0 评论 -
开发实践教程1:试卷生成系统5 模块
版权声明:本文为博主原创文章,转载请在显著位置标明本文出处以及作者网名,未经作者允许不得用于商业目的。在《试卷生成系统》中使用到了模块来保存全局变量。详见下面具体代码:Module modMain Public databaseConnString As String Public permissions As Integer Public loginName As String Public loginId As Integer Public t原创 2021-08-31 21:34:28 · 121 阅读 · 0 评论 -
开发实践教程1:试卷生成系统4 类
版权声明:本文为博主原创文章,转载请在显著位置标明本文出处以及作者网名,未经作者允许不得用于商业目的。在《试卷生成系统》中使用到以下两个类:4.1 clsMd5由于《试卷生成系统》为管理员和用户设置了需要密码才能登录,因此对于密码需要进行一定的加密,本教程中使用的是MD5加密方式。为了方便使用,《试卷生成系统》中建立了ClassMd5类,提供了共享方法 toMD5(),可以不用实例化ClassMd5类就可调用toMD5()方法来进行加密。具体代码如下:Imports System.原创 2021-08-31 21:33:06 · 206 阅读 · 0 评论 -
开发实践教程1:试卷生成系统3 系统设计
版权声明:本文为博主原创文章,转载请在显著位置标明本文出处以及作者网名,未经作者允许不得用于商业目的。需要实现的系统功能:1、用户申请,经管理员审核后才能登录使用系统。2、用户可以自己设置题目。3、用户可以自己设计试卷,通过手动选择题目或者自动生成题目,最终生成一套试卷。4、用户可以将自己设计的试卷,或者别人设计的试卷输出到Word文档。需要注意的事项:1、管理员和普通用户权限需要实现不同功能。2、管理员有普通用户的所有权限,同时为了防止系统混乱,只有管理员才能使用的功能:试原创 2021-08-31 21:19:07 · 153 阅读 · 0 评论 -
开发实践教程1:试卷生成系统2 数据库设计
版权声明:本文为博主原创文章,转载请在显著位置标明本文出处以及作者网名,未经作者允许不得用于商业目的。《试卷生成系统》包含以下10个数据表:2.1 《考试类型表一级》为了方便管理,整个试卷分类为三个层次的考试类型,其中《考试类型表一级》表存储最基本的分类,例如:小学、初中、高中、大学、其它设计如下:图1-12.2 《考试类型表二级》试卷所属分类的第二级,例如在《考试类型表一级》的“高中”下可以继续分类:高中一年级、高中二年级、高中三年级设计如下:图..原创 2021-08-31 21:18:10 · 698 阅读 · 0 评论 -
开发实践教程1:试卷生成系统 1 前言和目录
虽然此前VB.Net教程中已经发布过《库存管理系统》作为VB.Net教程综合开发的实例,但是《库存管理系统》使用的是Access数据库,不适合多用户环境使用。同时,本系统的代码也为毕业生们提供了开发参考。(3)数据事务操作,详见《6.12 试卷管理(FormTestPaperManager)》。2、操作Word进行文档输出,详见《6.7 试卷生成(FormTestPaper)》。(2)数据批量保存,详见《6.7 试卷生成(FormTestPaper)》。关于如何开发数据库,请参看教程第19章《数据库操作》原创 2021-08-31 21:06:52 · 243 阅读 · 0 评论