大家好,我是华山自控编程朱老师
前几天一个学员在学习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- 删除索引
总结如下:
1) 调试必备技能,打印sql日志。
2) 熟练sql数据操作语言和数据定义语言。
以上就是初学者在学习c#与数据库交互时常见的问题。比较浅显。不当之处敬请指正。
热门跟贴