'Data type mismatch in criteria expression' 用 LabVIEW 数据库查询

'Data type mismatch in criteria expression' with LabVIEW database query

我有两个 table:

table 1 : info1 -> 我有 pid(主键)、名称、地址、性别等

table 2:访问 -> 我有 pid(外键)的地方, visit_date,next_visit,详情

我使用了一个查询

SELECT info1.Patient_ID, visit.Visit_Date, visit.Next_Visit, 
visit.Visit_Details from info1, visit WHERE info1.Patient_ID ="%"

这个查询是否正确?

LabVIEW代码:

前面板:

Table 1(信息 1):

Table 2(访问):

错误:

您的查询需要 JOIN:

SELECT info1.Patient_ID, visit.Visit_Date, visit.Next_Visit, visit.Visit_Details 
FROM info1 INNER JOIN visit ON info1.Patient_ID = visit.Patient_ID
WHERE info1.Patient_ID ="%"

如果您使用如上所示的 INNER JOIN,那么您只会得到 Patient_ID 的结果,这些结果在 both 中都有一个条目的两个表。例如,如果您想查看所有 Patient_ID 是否有 visit 记录,您可以使用 LEFT OUTER JOIN.

注意: 在您显示的 LabVIEW 代码中,您通过从用户提供的数据(Patient ID 前面板控件)构建字符串来构造查询).这是一个非常糟糕的主意,因为它允许恶意用户进行 SQL 注入攻击 。您应该查看如何将值作为 参数 提供给您的 LabVIEW 数据库函数。