c#中数据表选择语句出错

本文关键字:语句 出错 选择 数据表 | 更新日期: 2023-09-27 18:02:04

我有一个SELECT语句,我正在数据表上运行。问题是,它给我的错误"表达式包含一个无效的字符串常数"。我知道这与我的查询结束时的单引号有关,但我想不出为什么它不起作用。下面是代码:

DataRow[] foundRow = dt.Select("Student='" + Student.ID + "' AND [Student Description]='" + Student.AbsenceDescription.Trim() + "'");

c#中数据表选择语句出错

这看起来像是一个经典的SQL注入问题。如果描述包含一个撇号,即。"Wasn't available",这会破坏你的代码。此外,如果Student是一个整数值(即它是一个整数/自动递增的ID或在你的DB中等效),它不应该用引号包装,给你-

DataRow[] foundRow = dt.Select("Student=" + Student.ID + " AND [Student Description]='" + Student.AbsenceDescription.Trim() + "'");