ASP.NET网上车辆档案管理系统

news2024/9/28 13:22:46

 摘  要

本文采用基于Web的Asp.net技术,并与sql server 2000数据库相结合,研发了一套车辆档案管理系统。该系统扩展性好,易于维护。简化了车辆档案设计流程,去除了冗余信息。汽车销售企业可以通过本系统完成整个销售及售后所有档案的信息化管理,轻松的完成添加,查询及维护等工作。 因此将发挥计算机的庞大的存储空间,高性能的处理能力,高度可靠的数据安全,清晰的可视化数据等这些优势让企业对车辆档案进行管理,实现了计算机资源的合理利用,真正实现了减少劳动力提高劳动质量的目的。

关键词:Asp.net,处理能力,Web,数据安全

2.1 Asp.net

ASP.NET又叫ASP+,但并不仅仅是ASP的简单升级,而是Microsoft推出的新一代Active Server Pages脚本语言。ASP.NET是微软发展的新型体系结构.NET的一部分,它的全新技术架构会让每一个人的网络生活都变得更简单。

ASP.NET 是一种建立动态Web应用程序的技术。它是.NET 框架的一部分,您可以使用任何.NET兼容的语言来编写ASP.NET应用程序。 使用Visual Basic .NET, C#, J#, ASP.NET 页面(Web Forms) 进行编译可以提供比脚本语言更出色的性能表现。Web Forms 允许您在网页基础上建立强大的窗体。当建立页面时, 您可以使用ASP.NET 服务端控件来建立常用的UI元素,并对它们编程来完成一般的任务。这些控件允许您使用内建可重用的组件和自定义组件来快速建立Web Form,使代码简单化。ASP.NET 提供了一种编程模型和结构,对比原来的Web技术来说,它能更快速、容易地建立灵活、安全和稳定的应用程序。 

ASP.NET 可以用来承载多个 Web 应用程序,其中每个应用程序由 Web 站点(Web 站点在 Web 服务器上表现为一个唯一的主机名/端口组合)内的一个唯一的 URL 前缀来标识。

 2.2 Sql server2000

SQL Server是由Microsoft开发和推广的关系数据库管理系统(DBMS),它最初是由MicrosoftSybaseAshton-Tate三家公司共同开发的,并于1988年推出了第一个OS/2版本。 SQL Server近年来不断更新版本,1996年,Microsoft 推出了SQL Server 6.5版本;1998年,SQL Server 7.0版本和用户见面;SQL Server 2000Microsoft公司于2000年推出的最新版本。

2.3 Microsoft Office Visio 2003

Visio 2003是一个图表绘制解决方案,可以帮助人们将业务和技术概念转化为可视化图表。 使用Visio 2003 表达、记录和传达重要的信息,给您的读者留下专业化的印象。

Visio 2003 中的新增特性包括:增强的图表绘制功能、新的模板、最新的导入和导出功能、同其它应用程序进行协作的改进方法、以及众多面向开发人员和高级用户的新增高级特性。

2.4 PowerDesigner Trial

PowerDesignerSybase公司的CASE工具集,使用它可以方便地对管理信息系统进行分析设计,它几乎包括了数据库模型设计的全过程。利用PowerDesigner可以制作数据流程图、概念数据模型、物理数据模型,可以生成多种客户端开发工具的应用程序,还可为数据仓库制作结构模型,也能对团队设计模型进行控制。它可与许多流行的数据库设计软件,例如:PowerBuilderDelphiVB等相配合使用来缩短开发时间和使系统设计更优化。

4.1登录

    当用户登录时,有普通管理员和系统管理员之分。登录界面如下所示:

                         图4-1登录界面

用户名密码不能为空,系统管理员用户名和密码均为sadmini,普通管理员均为admini。此时,系统将会连接到数据库。

连接数据库主要代码:

Private Sub Page_Load(ByVal sender As System.Object, ByVal e System.EventArgs) Handles MyBase.Load

conn = New SqlConnection("data source=127.0.0.1;integrated security=SSPI;initial catalog=车辆档案管理")

da = New SqlDataAdapter("select * from 车辆基本信息表", conn)

da.FillSchema(ds, SchemaType.Source, "车辆基本信息表")

da.Fill(ds, "车辆基本信息表")

If Not Page.IsPostBack Then

DataGrid1.DataSource = ds

DataGrid1.DataMember = "车辆基本信息表"

DataGrid1.DataBind()

End If

End Sub

 当系统管理员登录时界面如下(普通管理员不能登录此界面):

图4-2系统管理员初始界面

在系统管理员界面中,系统管理员可以对各种用户进行管理。

4.2 车辆购车档案功能的运行

当点击车辆购车档案时,界面如下所示:在车辆购车档案中可以进行添加、查询、更新、删除的操作,用来对车辆信息表(编号,车辆名称,车型,颜色,车牌号码,发动机号,底盘号码,车架号码,座位数,载重,购车价格,购车日期,初始公里数,保修期至,客户名)的信息进行更改。

   图4-3  车辆购车档案界面

   在界面中的文本框,填入相应信息,然后点击“添加”按钮,就会在下面的dategrid中显示出添加的记录。

  例如,添加编号为4的这条记录,执行效果如下所示:

图4-4 添加实例图

添加主要代码:

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles addBtn.Click, Button1.Click

Dim id, count As Integer

Dim bh, clmc, cx, ys, cphm, fdjh, dphm, cjhm, zws, zz, gcjg, gcrq, csgls, bzqz, khm As String

        bh = CStr(Trim(Me.bh.Text))

        clmc = CStr(Trim(Me.clmc.Text))

        cx = CStr(Trim(Me.cx.Text))

        ys = CStr(Trim(Me.ys.Text))

        cphm = CStr(Trim(Me.cphm.Text))

        fdjh = CStr(Trim(Me.fdjh.Text))

        dphm = CStr(Trim(Me.dphm.Text))

        cjhm = CStr(Trim(Me.cjhm.Text))

        zws = CStr(Trim(Me.zws.Text))

        zz = CStr(Trim(Me.zz.Text))

        gcjg = CStr(Trim(Me.gcjg.Text))

        gcrq = CStr(Trim(Me.gcrq.Text))

        csgls = CStr(Trim(Me.csgls.Text))

        bzqz = CStr(Trim(Me.bzqz.Text))

        khm = CStr(Trim(Me.khm.Text))

        Dim rowNew As DataRow = ds.Tables("车辆基本信息表").NewRow

        rowNew("编号") = bh

        rowNew("车辆名称") = clmc

        rowNew("车型") = cx

        rowNew("颜色") = ys

        rowNew("车牌号码") = cphm

        rowNew("发动机号") = fdjh

        rowNew("底盘号码") = dphm

        rowNew("车架号码") = cjhm

        rowNew("座位数") = zws

        rowNew("载重") = zz

        rowNew("购车价格") = gcjg

        rowNew("购车日期") = gcrq

        rowNew("初始公里数") = csgls

        rowNew("保修期至") = bzqz

        rowNew("客户名") = khm

        ds.Tables("车辆基本信息表").Rows.Add(rowNew)

        DataGrid1.DataSource = ds.Tables("车辆基本信息表")

        DataGrid1.DataBind()

        Dim myCBuilder As New SqlCommandBuilder(da)

        da.InsertCommand = myCBuilder.GetInsertCommand

        da.Update(ds, "车辆基本信息表")

End Sub

当点击“查询”按钮时,界面如下所示:

图4-5 查询页面

例如,查询客户名为“张青青”的客户名,其执行结果如下:

图4-6查询实例

查询主要代码:

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

Dim objConn As New SqlConnection

objConn = ConnectionDatabase()

Dim strSQL As String

Dim datatable1 As DataTable

strSQL = "SELECT * FROM 车辆基本信息表 where 客户名='" +TextBox1.Text+ "'"

datatable1 = CreateDataSet(strSQL, "车辆基本信息表").Tables("车辆基本信息表")

   DataGrid1.DataSource = datatable1

   DataGrid1.DataBind()

End Sub

Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.LoadConnectionDatabase()

   Dim strSQL As String

   Dim datatable1 As DataTable

   strSQL = "SELECT * FROM 车辆基本信息表 "

datatable1 = CreateDataSet(strSQL, "车辆基本信息表").Tables("车辆基本信息表")

DataGrid1.DataSource = datatable1

DataGrid1.DataBind()

End Sub

当在车辆购车档案中更新信息时,界面如下所示:

图4-7 更新页面

更新代码如下:

Private Sub datagrid1_EditCommand(ByVal source As Object, ByVal e As System.Web.UI.WebControls.DataGridCommandEventArgs)HandlesDataGrid1.EditCommand

a = CInt(e.Item.Cells(2).Text)

DataGrid1.EditItemIndex = e.Item.ItemIndex

DataGrid1.DataSource = ds

DataGrid1.DataMember = "车辆基本信息表"DataGrid1.DataBind()

End Sub

Private Sub datagrid1_UpdateCommand(ByVal source As Object, ByVal e As System.Web.UI.WebControls.DataGridCommandEventArgs)HandlesDataGrid1.UpdateCommand

    Dim rowChange As DataRow = ds.Tables("车辆基本信息表").Rows.Find(a)

    rowChange.BeginEdit()

    rowChange("编号") = (CType(e.Item.Cells(2).Controls(0), TextBox)).Text.Trim()

    rowChange("车辆名称") = (CType(e.Item.Cells(3).Controls(0), TextBox)).Text.Trim()

    rowChange("车型") = (CType(e.Item.Cells(4).Controls(0), TextBox)).Text.Trim()

    rowChange("颜色") = (CType(e.Item.Cells(5).Controls(0), TextBox)).Text.Trim()

    rowChange("车牌号码") = (CType(e.Item.Cells(6).Controls(0), TextBox)).Text.Trim()

 rowChange("发动机号") = (CType(e.Item.Cells(7).Controls(0), TextBox)).Text.Trim()

rowChange("底盘号码") = (CType(e.Item.Cells(8).Controls(0), TextBox)).Text.Trim()

    rowChange("车架号码") = (CType(e.Item.Cells(9).Controls(0), TextBox)).Text.Trim()

rowChange("座位数") = (CType(e.Item.Cells(10).Controls(0), TextBox)).Text.Trim()

  rowChange("载重") = (CType(e.Item.Cells(11).Controls(0), TextBox)).Text.Trim()

    rowChange("购车价格") = (CType(e.Item.Cells(12).Controls(0), TextBox)).Text.Trim()

  rowChange("购车日期") = (CType(e.Item.Cells(13).Controls(0), TextBox)).Text.Trim()

rowChange("初始公里数") = (CType(e.Item.Cells(14).Controls(0), TextBox)).Text.Trim()

rowChange("保修期至") = (CType(e.Item.Cells(15).Controls(0), TextBox)).Text.Trim()

 rowChange("客户名") = (CType(e.Item.Cells(16).Controls(0), TextBox)).Text.Trim()

    rowChange.EndEdit()

    DataGrid1.EditItemIndex = -1

    DataGrid1.DataSource = ds.Tables("车辆基本信息表")

    DataGrid1.DataBind()

    Dim myCBuilder As New SqlCommandBuilder(da)

    da.UpdateCommand = myCBuilder.GetUpdateCommandda.Update(ds, "车辆基本信息表")

End Sub

4.3车辆维修档案功能的运行

当点击维修档案时,界面如下所示:

在本界面同样可以进行添加、查询、删除、更新等工作,出现的界面同车辆购车档案雷同的界面,它主要对车辆维修表(编号,车辆,维护日期,维修时公里数,维修单位,维护原因,花费金额,完毕日期,维护结果)进行修改。

图4-8更新界面

  4.4 车辆年检档案功能的运行

当点击车辆年检档案时,界面如下所示:

在本界面同样可以进行添加、查询、删除、更新等工作,出现的界面与车辆购车档案雷同的界面,它主要对车辆年检表(编号,喇叭,车型,灯光,制动刹车,侧滑,废气,车速,是否合格)进行修改。

图4-9车辆年检档案

4.5车辆评估模块功能的运行

当点击车辆评估档案时,会出现如下界面:

这时,需要用户输入汽车原值、使用年限、使用到第几年、折旧年限、维修次数、年检不合格次数、保养次数等基本信息。然后再选择使用强度、技术含量、维修保养水平、市场供求的信息。

点击“评估车辆”按钮在页面底部就会出现该车辆的得分以及评定等级了。

图4-10车辆评估界面

     当操作完毕,点击“退出”按钮即可关闭所有窗口,退出车辆档案管理系统。

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

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

相关文章

python数据分析——数据分析概念定义和发展前景

数据分析概念定义和发展前景 前言一、数据分析概念二、数据的定义2.1数据的定义2.2数据的分类 三、数据的价值数据为什么具有价值 四、数据分析的目的对于企业来说 五、数据分析类型的划分5.1描述性统计分析5.2 探索性数据分析5.3 传统的统计分析方法5.4验证性数据分析 六、 数…

[答疑]系统需求并不会修改领域事实(警惕伪创新)

DDD领域驱动设计批评文集 做强化自测题获得“软件方法建模师”称号 《软件方法》各章合集 jeri 2024-4-17 12:59 潘老师,在整理领域模型时,这个申请是有多次的,直到申请成功,多重性是* ,但分析模型时,需…

【题解】NowCoder Fibonacci数列

题目来源:牛客 题目链接:Fibonacci数列 Fibonacci数列 题目描述: Fibonacci 数列是这样定义的: F[0] 0 F[1] 1 for each i ≥ 2 : F[i] F[i-1] F[i-2] 因此,Fibonacci 数列就形如:0, 1, 1, 2, 3, 5…

STM32 PWM波定时溢出中断

打开定时器和中断 主函数初始化开启PWM和中断 HAL_TIM_PWM_Start(&htim2,TIM_CHANNEL_1); __HAL_TIM_SET_COMPARE(&htim2, TIM_CHANNEL_1, Pwm_data); HAL_TIM_Base_Start_IT(&htim2); 回调函数中判断是否为tim2 void HAL_TIM_PeriodElapsedCallback(TIM_Han…

Vue阶段练习:初始化渲染、获取焦点、记账清单

阶段练习主要承接Vue 生命周期-CSDN博客 ,学习完该部分内容后,进行自我检测,每个练习主要分为效果显示、需求分析、静态代码、完整代码、总结 四个部分,效果显示和准备代码已给出,我们需要完成“完整代码”部分。 练习…

Redis-五大数据类型-List(列表)

五大数据类型-List(列表) 简介 List是简单的字符串列表,按照插入顺序排序。你可以添加一个元素到列表的头部(左边)或者尾部(右边)。 底层是一个双向链表,对两段操作性能极高&#…

【Linux系统】冯•诺依曼体系结构与操作系统

本篇博客整理了操作系统相关的基础知识,先从硬件之冯•诺依曼体系结构,再结合软件之操作系统,旨在帮助读者理解计算机的软硬件资源,和操作系统的管理软硬件资源的手段。 目录 一、冯•诺依曼体系结构 1.计算机硬件设备 2.体系…

mac自定义快捷键打开系统应用

最终效果是达成altg直接打开浏览器,解放双手、再也不需要移动鼠标双击打开应用啦!!!~ 1.commandspace输入自动操作 2.选择快速操作 3.选择使用工具、运行appleScrpit 4.输入打开浏览器代码 tell application "G…

Delta lake with Java--分区表

今天尝试一下将昨天的数据操作建立的表换成分区表,参考Delta Lake Up and Running做法用分区表的方式来更新数据。还要比较一下分区表的查询与非分区表的查询,结果显示分区表的查询速度要比非分区表要快。直接上代码: import io.delta.table…

使用memcache 和 redis 、 实现session 会话复制和保持

一、NoSQL介绍 NoSQL是对Not Only SQL、非传统关系型数据库的统称 NoSQL一词诞生于1998年,2009年这个词汇再次提出指非关系型、分布式、不提供ACID的数据库设计模式 随着互联网时代的数据爆发时增长、数据库技术发展的日新月异,要适应新的业务需求&am…

JavaWeb_请求响应_简单参数实体参数

一、SpringBoot方式接收携带简单参数的请求 简单参数:参数名与形参变量名相同,定义形参即可接收参数。并且在接收过程中,会进行自动的类型转换。 启动应用程序后,在postman中进行测试: 请求成功,响应回了O…

eve 导入linux

mkdir /opt/unetlab/addons/qemu/linux-centos7 cd /opt/unetlab/addons/qemu/linux-centos7 上传hda.qcow2 /opt/unetlab/wrappers/unl_wrapper -a fixpermissions Linux images - (eve-ng.net) Due to very high demand of this section and problems with how to crea…

# 在 Windows 命令提示符(cmd)中,可以通过以下方法设置长命令自动换行

在 Windows 命令提示符(cmd)中,可以通过以下方法设置长命令自动换行 1、点击 cmd 窗口左上角标题栏,选择【属性】。 2、在【属性】菜单中,依次点击【选项】,找到【编辑选项】下面的【自动换行】&#xff…

Vue CLI脚手架项目目录和运行流程介绍

目录 一、项目目录介绍 二、运行流程介绍 一、项目目录介绍 二、运行流程介绍 项目在启动时会先运行main.js main.js的核心代码如下 1.导入Vue import Vue from vue 2.导入App.vue import App from ./App.vue 3.实例化Vue,将App.vue渲染到index.html容器中 new Vue({r…

为什么说虚拟化技术是现代网络安全的重要组成部分?

虚拟化技术是一种对计算机资源的抽象和资源管理技术,将电脑的各种实体资源(CPU、内存、磁盘空间、网络适配器等)予以抽象、转换后呈现出来,并可供分割、组合为一个或多个电脑配置环境。今天德迅云安全带您了解为什么虚拟化技术能成…

dp 动态规划 力扣

64. 最小路径和 给定一个包含非负整数的 m x n 网格 grid ,请找出一条从左上角到右下角的路径,使得路径上的数字总和为最小。 说明:每次只能向下或者向右移动一步。 示例 1: 输入:grid [[1,3,1],[1,5,1],[4,2,1]] 输…

实时聊天系统设计

设计一个聊天系统最主要是保证消息能够及时可靠的从一端传入到另外一端,同时要支持对历史消息的查看。按照同时聊天人数聊天系统可以分,一对一(one on one)和群聊(group chat),按照消息传递的及…

.排序总讲.

在这里赘叙一下我对y总前四节所讲排序的分治思想以及递归的深度理解。 就以788.逆序对 这一题来讲(我认为这一题对于分治和递归的思想体现的淋淋尽致)。 题目: 给定一个长度为 n𝑛 的整数数列,请你计算数列中的逆序对…

C++进阶 | [2] 多态

摘要:多态的概念,多态的条件,虚函数的重写,抽象类,多态的原理,虚函数与虚函数表,与多态有关的问答题 1. Concept 多态的概念:通俗来说,就是多种形态,具体点就…

Redis(Jedis和SpringBoot整合Redis)

文章目录 1.Jedis1.介绍2.环境配置1.创建maven项目2.pom.xml引入依赖3.新建一个包并创建一个文件 3.Jedis远程连接到Redis1.Redis放到服务器可以连接的前提条件2.为Redis设置密码1.编辑配置文件2.找到 requirepass3.设置密码为root4.重启Redis,在shutdown的时候报错…