大家好,我是华山自控编程朱老师
前几天一个学员在学习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 语句:
总结如下:
- 调试必备技能,打印sql日志。
- 熟练sql数据操作语言和数据定义语言。
大家好,我是华山自控编程朱老师
前几天一个学员在学习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 - 向数据库表中插入数据
- CREATE DATABASE - 创建新数据库
- ALTER DATABASE - 修改数据库
- CREATE TABLE - 创建新表
- ALTER TABLE - 变更(改变)数据库表
- DROP TABLE - 删除表
- CREATE INDEX - 创建索引(搜索键)
- DROP INDEX - 删除索引
- 调试必备技能,打印sql日志。
- 熟练sql数据操作语言和数据定义语言。
最近很多小伙伴找我学习,然后我根据二十年自动化控制经验精心录制了全套C#,机器视觉,运动控制卡原创教程,需要的同学,一键三连就可以领取,以下是领取入口: