VB.NET—Bug调试(参数话查询、附近语法错误)

目录

前言:

BUG是什么!

事情的经过:

过程:

错误一:

错误二:

总结:


前言:

BUG是什么!

在计算机科学中,BUG是指程序中的错误或缺陷,它通过是值代码中的错误、逻辑错误、语法错误、运行时错误等相关问题,这些问题可能会导致程序崩溃、产生不正确的结果或行为,或者导致程序无法正常工作。
在软件开发中,bug是一种常见的问题,正所谓无bug不成方圆,哈哈,程序时常可能会犯错误,而且程序的复杂性也回增加出现错误的可能性。为了尽可能得减少bug的数量,开发人员通常会使用各种技术和工具来进行代码测试和调试,以确保程序的正确性和稳定性。同时,用户也可以用过反馈bug来帮助开发人员改进程序,提高质量和可能性。
出现bug也是程序员非常抵触的事情,可能出现一个bug需要花好长时间来解决,甚至好几天来解决,如果在即将上市的产品上,出现bug这将会给公司带来一笔巨大的损失,因此程序会在上市之前进行反复测试。

事情的经过:

在进行机房重构的时候,出现了很多的bug,导致程序无法运行,卡在程序的主入口,都说断点调试是程序员的一大利器,为什么这么说,因为它可以帮程序员快速的定位问题,减少调试的时间并提高准确性,此外,断点调试还可以帮助程序员深入理解程序的执行过程和内部实现,从而提高程序员的技术水平和代码质量。但是通过断点调试,开始也是没有找到解决的办法,错误就在眼前,但是找不到它。着实着急。

过程:

错误一:

1.添加用户启动失败窗体

在进行添加用户的时候,突然报出图片中的错误,根据错误提示,可以清晰的看出应该是数据库的代码出现问题!通过断点调试进一步的将问题往下深挖,证明是连接数据库的语句出现了问题,期间不断尝试将数据库中的语句进行替换,但是废了九牛二虎之力也没找到,挠破了头皮也是想不到问题出自在哪,开始质疑报错的错误是不是有问题,最终在心里的斗争下,我将所有与数据库打交道的代码都重写了一遍,不写不知道,一写就出现问题,系统最终能正常运行,通过撤回将错误代码浮现出来,通过仔细对比发现问题的根源真是让人难找。大家可以看下代码,我将错误的代码注释在下面了,不仔细查看还是看不出来,括号是中文的括号,这才导致附近语法有错误,通过这件事也是告诉我们书写的总要性,往往不注意的细节,都会让自己陷入两难的境地。
1.2数据库中的部分代码

Dim sql As String "INSERT INTO User_info(UserNo,Password)VALUES(@UserNo,@Password)"'Dim sql1 As String "INSERT INTO User_info(UserNo,Password)VALUES (@UserNo,@Password)Dim cmd As New SqlCommand(sql,conn)cmd.Parameters.Add(New SqlParameter("@UserNo",updateuser.UserNo))cmd.Parameters.Add(New SqlParameter("@Password",updateuser.Password))reader cmd.ExecuteReader()

1.3添加用户启动成功窗体

错误二:

1.充值启动失败窗体

这个错误,跟上面的错误提示完全不一样,对于这个错误开始没有进行仔细考虑,不管三七二十一,直接上手对数据库的代码进行整改,运行之后改,改完之后运行,经过几轮的反复,问题依然没有解决,开始心烦气躁......,因为自己这个是分为UI层,BLL层,DAL层,自己也是局限在此,事实证明不去理解问题,这样只会是事半功倍,报出错误信息,一定有解决的办法,这三层经过仔细的筛选找到问题的本质了。代码如下,下面代码是正确的,一开始我将调用的方法写在最上面,这样会照成什么问题,没有赋值就开始调用, 所以提示错误提示需要参数‘@CardNo',但未提供参数,将调用的方法放在赋值的下面,这样就可以成功启动。
1.2数据传输的过程

1.3UI层的部分代码

    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.ClickTryDim UserFull As New Entity.UserRechargeDim aFull As New BLL.UserBLLUserFull.CardNo = TxtUserNo.TextUserFull.Recharge = TxtMoney.TextUserFull.RechargeDataTime = TxtTime.TextaFull.UserFullBAL(UserFull)Catch ex As ExceptionMessageBox.Show(ex.Message.ToString)End TryEnd Sub
End Class

1.4充值启动成功窗体

总结:

书写问题:
1.统一用英文书写

2.禁止切换中英文去编写代码

3.严格要求编码的规范,控制代码质量
代码问题:
1.仔细阅读提示的错误信息

2.使用调试工具

3.编写完成对每段带代码逐一检查

4.寻求帮助(互联网、高人解决)
 

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

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

相关文章

基于51单片机RFID射频门禁刷卡系统设计

**单片机设计介绍, 基于51单片机RFID射频门禁刷卡系统设计 文章目录 一 概要二、功能设计设计思路 三、 软件设计原理图 五、 程序程序 六、 文章目录 一 概要 基于51单片机RFID射频门禁刷卡系统,是一种将单片机技术和射频标识技术应用于门禁控制系统的…

文心耀乌镇,“大模型之光”展现了什么?

“乌镇的小桥流水,能照见全球科技的风起云涌。” 多年以来,伴随着中国科技的腾飞,以及世界互联网大会乌镇峰会的连续成功举办,这句话已经成为全球科技产业的共识。乌镇是科技与互联网的风向标、晴雨表,也是无数新故事开…

Install Nginx in Linux

Nginx是一款轻量级的Web服务器、反向代理服务器,由于它的内存占用少,启动极快,高并发能力强,在互联网项目中广泛应用。 1.yum 安装 nginx [rootVM-8-7-centos nginx]# yum install -y nginx Loaded plugins: fastestmirror, lang…

36 Gateway网关 快速入门

3.Gateway服务网关 Spring Cloud Gateway 是 Spring Cloud 的一个全新项目,该项目是基于 Spring 5.0,Spring Boot 2.0 和 Project Reactor 等响应式编程和事件流技术开发的网关,它旨在为微服务架构提供一种简单有效的统一的 API 路由管理方式…

puzzle(1612)拼单词、wordlegame

目录 拼单词 wordlegame 拼单词 在线play 找出尽可能多的单词。 如果相邻的话(在任何方向上),你可以拖拽鼠标从一个字母(方格)到另一个字母(方格)。在一个单词中,你不能多次使用…

Linux输入与输出设备的管理

计算机系统中CPU 并不直接和设备打交道,它们中间有一个叫作设备控制器(Device Control Unit)的组件,例如硬盘有磁盘控制器、USB 有 USB 控制器、显示器有视频控制器等。这些控制器就像代理商一样,它们知道如何应对硬盘…

Nacos入门到运行-超详细~windwos

📚目录 ⚙️简介:⚡️Nacos下载⌛解压到文件⚙️配置信息☘️修改 application.properties ⛵运行程序☘️安全问题☄️程序出现问题查看方式 ⛳Nacos开启鉴权⚡️跳过Token获取数据⚓接口请求: ✍️结束: ⚙️简介: Nacos:正如官网说的,一个…

机器学习——逻辑回归

目录 一、分类问题 监督学习的最主要类型 二分类 多分类 二、Sigmoid函数 三、逻辑回归求解 代价函数推导过程(极大似然估计): 交叉熵损失函数 逻辑回归的代价函数 代价函数最小化——梯度下降: ​编辑 正则化 四、逻辑…

测试人员如何通过AI提高工作效率!

随着AI技术的兴起,像OpenAI推出的ChatGPT、Microsoft发布的Microsoft 365 Copilot、阿里的通义千问、百度的文心一言、华为的盘古大模型等。很多测试人员开始担心,岗位是否会被AI取代?其实取代你的不是AI,而是会使用AI的测试人&am…

xlua游戏热更新(C#访问lua)

xlua作为Unity资源热更新的重要解决方案api,在Tecent重多游戏中被采用,本文通过案例去讲解xlua代码结构层次。 /** Tencent is pleased to support the open source community by making xLua available.* Copyright (C) 2016 THL A29 Limited, a Tence…

Google Firebase PHP实现消息推送

获取key的方法: 登录谷歌开发者后台 https://console.firebase.google.com/?hlzh-cn function firebaseNotice($title,$body){$token_arr[token1,token2]; //用户的firebasetoken列表$notify_msg ["notification" > ["title" > $title…

【网络编程】网络层——IP协议

文章目录 基本概念路径选择主机和路由器 IP协议格式分片与组装网段划分IP地址的数量限制私网IP地址和公网IP地址深入认识局域网路由 基本概念 TCP作为传输层控制协议,其保证的是数据传输的可靠性和传输效率,但TCP提供的仅仅是数据传输的策略&#xff0c…

基于springboot实现协同过滤算法商品推荐系统项目【项目源码】计算机毕业设计

基于springboot实现协同过滤算法商品推荐系统演示 Java语言简介 Java是由SUN公司推出,该公司于2010年被oracle公司收购。Java本是印度尼西亚的一个叫做爪洼岛的英文名称,也因此得来java是一杯正冒着热气咖啡的标识。Java语言在移动互联网的大背景下具备…

【Git】的分支和标签的讲解及实际应用场景

目录 一、讲解 1. 环境讲述 2. 应用原因 3. 分支标签的区别 二、分支 1. 命令 2. 场景应用 三、标签 1. 命令 2. 标签规范 3. 应用场景 每篇一获 一、讲解 1. 环境讲述 当软件从开发到正式环境部署的过程中,不同环境的作用如下: 开发环境&a…

【数据结构】树的基本性质(计算树的总结点数与叶结点数)

树的基本性质 ⭐️计算树的总结点与叶结点数💫性质1💫性质2💫例题1💫例题2 ⭐️计算树的总结点与叶结点数 💫性质1 性质1 树中的结点数等于所有结点的度数之和加1 例如上面这棵树,A的孩子为B、C、D&…

使用ResponseSelector实现校园招聘FAQ机器人

本文主要介绍使用ResponseSelector实现校园招聘FAQ机器人,回答面试流程和面试结果查询的FAQ问题。FAQ机器人功能分为业务无关的功能和业务相关的功能2类。 一.data/nlu.yml文件   与普通意图相比,ResponseSelector训练数据中的意图采用group/intent格…

工业相机基本知识理解:工业相机IO接口,功耗和供电方式

I-input 相机接收外部信号,可用于触发相机(硬触发),也可用于定制不同的 功能,例如使用不同信号宽度来改变相机的曝光时间。主要用于现场设 备控制相机使用,常常配合各种传感器使用 O-output 相机输出信号&a…

src/main/resources/fonts/songti.ttc not found as file or resource.

https://blog.csdn.net/Lewishhhh/article/details/122812272文章浏览阅读4.8k次,点赞2次,收藏7次。背景遇到个需求需要用Java导出PDF文件,权衡之下选择了iText,Java操作pdf的各个开源库之间的对比可以参考https://blog.csdn.net/…

阿里云从公网IP转为弹性公网IP,同时绑定多个IP教程

先将云服务器ECS 转为弹性IP 购买新的弹性辅助网卡 购买弹性公网iP 购买之后选择绑定资源选择第二步购买的网卡 进入ECS 终端 ,输入 ip address可以查看到eth1 的对应mac 地址 终端输入 vi /etc/sysconfig/network-scripts/ifcfg-eth1保存一下信息 DEVICEeth1 #表示新配置…

【Gradle-12】分析so文件和依赖的关系

1、前言 在包大小的占比中,so文件的占比往往是最高的,动辄几兆的大小多一个都会把包大小的指标打爆。 而在各厂商要求对手机CPU ARM架构进行分包适配的情况下,你更需要知道哪些依赖是没有适配v7a/v8a的,这将影响你的APP在应用市场…