Zeolibs:Where 子句中的未知列
Zeolibs: Unknown column in Where clause
我正在尝试使用 Zeolibs 执行 SQL 查询,但编译器一直抱怨出现以下错误 - Where 子句中的未知列。
ZQuery1.SQL.Text := 'SELECT * FROM new_table WHERE TagName = '+theSig.f.TagName;
ZQuery1.ExecSQL;
但我检查了我数据库中的所有列 table,它是正确的,因为我在这里 TagName
我的 SQL 陈述有什么问题?
您需要使用QuotedStr功能。所以你的代码将是
ZQuery1.SQL.Text := 'SELECT * FROM new_table WHERE TagName = '+QuotedStr(theSig.f.TagName);
更好的选择是使用 parametrized queries (this will block attempts for SQL injection - take a quick look at this 问题)。
ZQuery1.SQL.Text := 'SELECT * FROM new_table WHERE TagName = :myparam';
ZQuery1.ParamByName('myparam').AsString := theSig.f.TagName;
我正在尝试使用 Zeolibs 执行 SQL 查询,但编译器一直抱怨出现以下错误 - Where 子句中的未知列。
ZQuery1.SQL.Text := 'SELECT * FROM new_table WHERE TagName = '+theSig.f.TagName;
ZQuery1.ExecSQL;
但我检查了我数据库中的所有列 table,它是正确的,因为我在这里 TagName
我的 SQL 陈述有什么问题?
您需要使用QuotedStr功能。所以你的代码将是
ZQuery1.SQL.Text := 'SELECT * FROM new_table WHERE TagName = '+QuotedStr(theSig.f.TagName);
更好的选择是使用 parametrized queries (this will block attempts for SQL injection - take a quick look at this 问题)。
ZQuery1.SQL.Text := 'SELECT * FROM new_table WHERE TagName = :myparam';
ZQuery1.ParamByName('myparam').AsString := theSig.f.TagName;