'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 数据库函数。
我有两个 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 数据库函数。