作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想使用 dbExpress TSQLQuery 组件。但我不知道如何编写SQL来添加参数。我举一个例子也许会更清楚我的问题是什么。
在 TADOQuery 中,可以执行以下操作:
SELECT*
FROM sometable
WHERE sometable.id = :value;
现在,在上面的示例中,您可以在参数名称之前使用冒号 (:) 将参数传递给查询。但是当我尝试使用 TSQLQuery 执行此操作时,出现以下错误:
dbExpress driver does not support the TDBXTypes.UNKNOWN data type. Vendor Error Message.
现在,如果这不是您在 TSQLQuery 组件中传递参数的方式,有人可以帮助我吗?这对我来说是新领域。
我使用 Firebird 数据库,我使用 Delphi XE2
最佳答案
要设置参数的属性,您必须使用 Params
属性(property)。从这里,您可以使用索引或名称访问每个参数,要设置参数的值,请使用properties之一。 AsString , AsInteger依此类推,具体取决于字段的类型。
检查此示例
var
LSQLQuery : TSQLQuery;
begin
LSQLQuery:=TSQLQuery.Create(nil);
try
LSQLQuery.SQLConnection:=SQLConnection1;
LSQLQuery.CommandText:='Select FIRST_NAME from EMPLOYEE Where EMP_NO=:Param1';
LSQLQuery.Params.ParamByName('Param1').AsInteger:=2;//or using the index of the parameter LSQLQuery.Params[0].AsInteger:=2;
LSQLQuery.Open;//Execute the query
ShowMessage(LSQLQuery.FieldByName('FIRST_NAME').AsString); //get the data
LSQLQuery.Close;
finally
LSQLQuery.Free;
end;
end;
关于delphi - 如何在 Delphi 中使用 dbExpress 将参数传递给查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11124791/
我是一名优秀的程序员,十分优秀!