当前位置: 首页 > news >正文

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成功启动后的窗体

错误二:

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

    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.统一用英文书写

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

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

2.使用调试工具

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

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

相关文章:

  • centos7部署Canal与Canal集成使用
  • Python:词法分析(行结构与显式、隐式行拼接)
  • Leetcode2834. 找出美丽数组的最小和
  • 3.30每日一题(多元函数微分学)
  • Spring Boot自动配置原理、实战、手撕自动装配源码
  • linux入门---信号量
  • docker创建并访问本地前端
  • [java后端研发]——文件上传与下载(2种方式)
  • 代码随想录算法训练营Day 49 || 123.买卖股票的最佳时机III 、188.买卖股票的最佳时机IV
  • 49.批处理命令(1/2)
  • 《Redis实战》笔记
  • 企业计算机中了mkp勒索病毒怎么办,服务器中了勒索病毒如何处理
  • tomcat下载与使用教程
  • 每日一题(LeetCode)----数组--移除元素(五)
  • 无人驾驶智能:两车居然可以“交流”
  • 【108天】Java——《Head First Java》笔记(第1-4章)
  • 【140天】尚学堂高淇Java300集视频精华笔记(86-87)
  • CSS3 变换
  • ES6, React, Redux, Webpack写的一个爬 GitHub 的网页
  • git 常用命令
  • Golang-长连接-状态推送
  • orm2 中文文档 3.1 模型属性
  • Python中eval与exec的使用及区别
  • SQLServer之创建显式事务
  • Traffic-Sign Detection and Classification in the Wild 论文笔记
  • 从0搭建SpringBoot的HelloWorld -- Java版本
  • 机器人定位导航技术 激光SLAM与视觉SLAM谁更胜一筹?
  • 近期前端发展计划
  • 聚类分析——Kmeans
  • 前嗅ForeSpider采集配置界面介绍
  • 问题之ssh中Host key verification failed的解决
  • 一起来学SpringBoot | 第十篇:使用Spring Cache集成Redis
  • 在weex里面使用chart图表
  • Semaphore
  • shell使用lftp连接ftp和sftp,并可以指定私钥
  • 说说我为什么看好Spring Cloud Alibaba
  • #!/usr/bin/python与#!/usr/bin/env python的区别
  • #Java第九次作业--输入输出流和文件操作
  • ( 用例图)定义了系统的功能需求,它是从系统的外部看系统功能,并不描述系统内部对功能的具体实现
  • (1/2)敏捷实践指南 Agile Practice Guide ([美] Project Management institute 著)
  • (delphi11最新学习资料) Object Pascal 学习笔记---第8章第2节(共同的基类)
  • (附源码)php投票系统 毕业设计 121500
  • (附源码)springboot太原学院贫困生申请管理系统 毕业设计 101517
  • (解决办法)ASP.NET导出Excel,打开时提示“您尝试打开文件'XXX.xls'的格式与文件扩展名指定文件不一致
  • (介绍与使用)物联网NodeMCUESP8266(ESP-12F)连接新版onenet mqtt协议实现上传数据(温湿度)和下发指令(控制LED灯)
  • (转)IOS中获取各种文件的目录路径的方法
  • (转)socket Aio demo
  • .NET Core 和 .NET Framework 中的 MEF2
  • .net 生成二级域名
  • .NET 中 GetHashCode 的哈希值有多大概率会相同(哈希碰撞)
  • .net中应用SQL缓存(实例使用)
  • [3D基础]理解计算机3D图形学中的坐标系变换
  • [ajaxupload] - 上传文件同时附件参数值
  • [android学习笔记]学习jni编程
  • [APIO2015]巴厘岛的雕塑