新手C#常见技能_数据库调试

大家好,我是华山自控编程朱老师

前几天一个学员在学习C#与数据库交互时。一直是创建数据库出现错误,用接口去创建的时候,

截图如下:

 

不知道什么原因。

其实很多初学者在学习vs和数据库交互时,都会遇到类似的问题,不知道是动态库Interop.ADOX.dll问题,还是数据库交互的代码问题。下面我们就对这个问题进行详细分析。

问题分析:

根据报错提示,代码156提示,代码在执行sql语句时报错。有语法错误:

这个错误其实提示很清晰了。对于老司机来说,可能一下就知道问题点在哪里。但是对于新手来说,看到这个语法错误,还是会一筹莫展。不知道如何去定位问题。

接下来 我就教该同学如何去定位和解决问题:

首先:我就让该同学把cmdText字符串的值打印出来。打印的sql字符串如下:

打印出来以后,不用看代码。也知道这个sql语句确实是有语法错误的。sql语句末尾的逗号去掉。

所以第二步。我让该同学纠正这个错误后,再次运行。该同学反应还是有错误,继续打印字符串出来看看,截图如下:

很明显,通过屏幕,我们知道编号 和int之间没有空格。也就是Sql语句每个关键字 之间都是需要有空格隔开的。该同学纠正该错误后,继续运行。这次终于成功了:

通过以上调试方法。该同学学会了C#和数据库交互的基本技能。

另外在衍生下sql语句相关知识点:

可以把 SQL 分为两个部分:数据操作语言 (DML) 和 数据定义语言 (DDL)。

SQL (结构化查询语言)是用于执行查询的语法。但是 SQL 语言也包含用于更新、插入和删除记录的语法。

查询和更新指令构成了 SQL 的 DML 部分:

  • SELECT - 从数据库表中获取数据
  • UPDATE - 更新数据库表中的数据
  • DELETE - 从数据库表中删除数据
  • INSERT INTO - 向数据库表中插入数据

SQL 的数据定义语言 (DDL) 部分使我们有能力创建或删除表格。我们也可以定义索引(键),规定表之间的链接,以及施加表间的约束。

SQL 中最重要的 DDL 语句:

  • CREATE DATABASE - 创建新数据库
  • ALTER DATABASE - 修改数据库
  • CREATE TABLE - 创建新表
  • ALTER TABLE - 变更(改变)数据库表
  • DROP TABLE - 删除表
  • CREATE INDEX - 创建索引(搜索键)
  • DROP INDEX - 删除索引

总结如下:

SQL 的数据定义语言 (DDL) 部分使我们有能力创建或删除表格。我们也可以定义索引(键),规定表之间的链接,以及施加表间的约束。

SQL 中最重要的 DDL 语句:

总结如下:

  1. 调试必备技能,打印sql日志。
  2. 熟练sql数据操作语言和数据定义语言。

    大家好,我是华山自控编程朱老师

    前几天一个学员在学习C#与数据库交互时。一直是创建数据库出现错误,用接口去创建的时候,

    截图如下:

    不知道什么原因。

    其实很多初学者在学习vs和数据库交互时,都会遇到类似的问题,不知道是动态库Interop.ADOX.dll问题,还是数据库交互的代码问题。下面我们就对这个问题进行详细分析。

    问题分析:

    根据报错提示,代码156提示,代码在执行sql语句时报错。有语法错误:

    这个错误其实提示很清晰了。对于老司机来说,可能一下就知道问题点在哪里。但是对于新手来说,看到这个语法错误,还是会一筹莫展。不知道如何去定位问题。

    接下来 我就教该同学如何去定位和解决问题:

    首先:我就让该同学把cmdText字符串的值打印出来。打印的sql字符串如下:

    打印出来以后,不用看代码。也知道这个sql语句确实是有语法错误的。sql语句末尾的逗号去掉。

    所以第二步。我让该同学纠正这个错误后,再次运行。该同学反应还是有错误,继续打印字符串出来看看,截图如下:

    很明显,通过屏幕,我们知道编号 和int之间没有空格。也就是Sql语句每个关键字 之间都是需要有空格隔开的。该同学纠正该错误后,继续运行。这次终于成功了:

    通过以上调试方法。该同学学会了C#和数据库交互的基本技能。

    另外在衍生下sql语句相关知识点:

    可以把 SQL 分为两个部分:数据操作语言 (DML) 和 数据定义语言 (DDL)。

    SQL (结构化查询语言)是用于执行查询的语法。但是 SQL 语言也包含用于更新、插入和删除记录的语法。

    查询和更新指令构成了 SQL 的 DML 部分:

  3. SELECT - 从数据库表中获取数据
  4. UPDATE - 更新数据库表中的数据
  5. DELETE - 从数据库表中删除数据
  6. INSERT INTO - 向数据库表中插入数据
  7. CREATE DATABASE - 创建新数据库
  8. ALTER DATABASE - 修改数据库
  9. CREATE TABLE - 创建新表
  10. ALTER TABLE - 变更(改变)数据库表
  11. DROP TABLE - 删除表
  12. CREATE INDEX - 创建索引(搜索键)
  13. DROP INDEX - 删除索引
  14. 调试必备技能,打印sql日志。
  15. 熟练sql数据操作语言和数据定义语言。

最近很多小伙伴找我学习,然后我根据二十年自动化控制经验精心录制了全套C#,机器视觉,运动控制卡原创教程,需要的同学,一键三连就可以领取,以下是领取入口:

免费领,自动化控制编程入门到开挂学习路径(附教程和软件工具)_运动控制卡编程容易学吗_华山自控编程的博客-CSDN博客大家好,我是华山自控编程的朱老师,很多同学都在讨论上位机运动控制卡与机器视觉编程的问题,今天写了干货,希望可以帮助到你们https://blog.csdn.net/hspx668/article/details/126586129?spm=1001.2014.3001.5502

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

华山自控编程

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值