Error: Data type mismatch in criteria expression

Error: Data type mismatch in criteria expression

我已经使用链接到 Access 数据库(用于学校)的 C# 制作了一个关于航班的程序。
不过基础打完了还想加分

我的数据库由两个表组成:reizigers(乘客)和vluchten(航班)。所有 类 和变量都应正确定义。

我的问题:我希望能够搜索航班之间某些成本范围。

然而,在执行查询并尝试之后,它给出了错误:

Additional information: Data type mismatch in criteria expression.

在我的数据库中,成本是 kost,而且它只是一个整数(例如 240)。

有人知道它可能是什么吗?

KistMinKostMax 是两个整数,我想 WHERE 子句中使用的数据表字段 Kost 也是整数类型。

但是您的查询将两个变量括在单引号之间,这会将它们转换为字符串。数据库不喜欢将包含数值的整数字段与文本进行比较(如果该文本由数字组成)并且会抱怨提到的错误。

一个简单的修复是删除您在 sql where 条件中输入的两个值周围的引号并修复 syntax of the BETWEEN predicate。 (不确定该语法实际产生了什么,可能是针对 Kost 字段计算的布尔结果,而不是您所期望的)

".... WHERE Kost BETWEEN " + KostMin + " AND " + KostMax;

在您的上下文中(MS-Access,使用整数)无需担心 Sql 注入,但开始使用参数化查询是一个很好的做法。