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

前几天一个学员在学习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#与数据库交互时常见的问题。比较浅显。不当之处敬请指正。