嗨,我正在尝试让 SQL 从用户从列表框中选择的表中进行选择
这是我的代码
activity := cmbActivity.Text; //this is where the user selects a table to choose from
qryStudents.SQL.Text := 'SELECT * FROM :activity WHERE CompNo = :iCompNo'; //error here
qryStudents.Parameters.ParamByName('activity').Value:= activity;
qryStudents.Parameters.ParamByName('iCompNo').Value := iCompNo;
qryStudents.Open;
我在 SQL 代码中的 FROM 之后不断收到语法错误 (:activity) 任何帮助将不胜感激
您不能将 select 的 table 部分定义为参数,您需要动态构建 select 语句的那部分。
activity := cmbActivity.Text;
qryStudents.Close;
qryStudents.SQL.Text := 'SELECT * FROM ' + activity + ' WHERE CompNo = :iCompNo';
qryStudents.Parameters.ParamByName('iCompNo').Value := iCompNo;
qryStudents.Open;
:iCompNo OTOH 可以定义为参数,以防止 SQL 注入。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句