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

目录

前言:

BUG是什么!

事情的经过:

过程:

错误一:

错误二:

总结:


前言:

BUG是什么!

在计算机科学中,BUG是指程序中的错误或缺陷,它通过是值代码中的错误、逻辑错误、语法错误、运行时错误等相关问题,这些问题可能会导致程序崩溃、产生不正确的结果或行为,或者导致程序无法正常工作。

在软件开发中,bug是一种常见的问题,正所谓无bug不成方圆,哈哈,程序时常可能会犯错误,而且程序的复杂性也回增加出现错误的可能性。为了尽可能得减少bug的数量,开发人员通常会使用各种技术和工具来进行代码测试和调试,以确保程序的正确性和稳定性。同时,用户也可以用过反馈bug来帮助开发人员改进程序,提高质量和可能性。

出现bug也是程序员非常抵触的事情,可能出现一个bug需要花好长时间来解决,甚至好几天来解决,如果在即将上市的产品上,出现bug这将会给公司带来一笔巨大的损失,因此程序会在上市之前进行反复测试。

事情的经过:

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

过程:

错误一:

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

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

vbnet 复制代码
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层的部分代码

vbnet 复制代码
    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        Try
            Dim UserFull As New Entity.UserRecharge
            Dim aFull As New BLL.UserBLL
            UserFull.CardNo = TxtUserNo.Text
            UserFull.Recharge = TxtMoney.Text
            UserFull.RechargeDataTime = TxtTime.Text
            aFull.UserFullBAL(UserFull)
        Catch ex As Exception
            MessageBox.Show(ex.Message.ToString)
        End Try
    End Sub
End Class

1.4充值启动成功窗体

总结:

书写问题:

1.统一用英文书写

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

3.严格要求编码的规范,控制代码质量
代码问题:

1.仔细阅读提示的错误信息

2.使用调试工具

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

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

相关推荐
charlie1145141912 分钟前
从 0 开始的机器学习——NumPy 线性代数部分
开发语言·人工智能·学习·线性代数·算法·机器学习·numpy
catchadmin38 分钟前
Laravel12 + Vue3 的免费可商用商业级管理后台 CatchAdmin V5 正式发布
开发语言·php
袁气满满~_~39 分钟前
Python数据分析学习
开发语言·笔记·python·学习
我是唐青枫1 小时前
C#.NET ConcurrentBag<T> 设计原理与使用场景
c#·.net
zandy10111 小时前
从 Workflow 到 Agent 模式!衡石多智能体协同架构,重新定义智能 BI 底层逻辑
大数据·信息可视化·架构
Elastic 中国社区官方博客1 小时前
Elastic:DevRel 通讯 — 2026 年 1 月
大数据·数据库·人工智能·elasticsearch·搜索引擎·ai·全文检索
寻星探路1 小时前
【算法专题】滑动窗口:从“无重复字符”到“字母异位词”的深度剖析
java·开发语言·c++·人工智能·python·算法·ai
程序员小白条1 小时前
面试 Java 基础八股文十问十答第八期
java·开发语言·数据库·spring·面试·职场和发展·毕设
Dxy12393102161 小时前
python连接minio报错:‘SSL routines‘, ‘ssl3_get_record‘, ‘wrong version number‘
开发语言·python·ssl
njsgcs1 小时前
ppo 找出口模型 训练笔记
人工智能·笔记