函数 parambyname 怎麽用?(100分)

  • 主题发起人 主题发起人 mei_fht
  • 开始时间 开始时间
M

mei_fht

Unregistered / Unconfirmed
GUEST, unregistred user!
请问,诸位高手parambyname怎麽用,parambyname('name')中的参数name,是不是任意参数?请高手指点,举一应用例子,谢谢。
 
帮助里有
 
在sql中‘:’后的参数
如 update table set record=:r
则 parambyname('r')
 
parambyname('name')中的name 是指你在SQL中加的参数
例如:... and item_code=:itemcode and ...中
itemcode 既是参数
用法没有特殊的地方。
 
首先,ParamByName 不是一个函数,而是一个方法(method),用于指定Query 中的
参数值,指定参数时, 可以用数组方式和按名查找方式,这是后者。具体来说,如果
一个 Query 的 Sql 如下:
Select name, sex, age
from persons
where (name = :name )
and (age > :age)
则 : 后面的就是设定的参数名,在使用这个 query 之前,用下面的语句可以为参数赋值:
Query1.ParamByName('name').AsString := '张三';
Query1.ParamByName('age').AsSmallInt := 23;
Query1.Open;
这样就查出名字为 “张三”且年龄大于 23 的所有记录。

如果不使用 ParamByName,也可以用 Query.Params[] 属性,具体请查 Help
 
parambyname(‘name")
的 name 是你在Query1的sql中参数
在patams 中的参数名可看见。
with query1 do
begin
close;
ParamByName('name').AsString := 'name';
ParamByName('age').AsSmallInt := 20;
Open;
end;
 
不是任意参数,必须是在query的sql语句中出现的参数
如:select * from student.db where name=:var1
这个var1就是参数,可放在query.parambyname中,
然后在程序中可动态附值,得到不同的查询结果
 
我本来会用的,现在又不会了:)
 
简单地说:name 是 SQL 语句中冒号后面的变量。
update table set record=:r
r 就是参数。
像这样使用:parambyname('r') := ...
From: BaKuBaKu.
 
各位有没有碰到过如下问题:
我在一个复杂的SQL中用到了同名的参数:
sql.add('....... field1 = :param1........')
.
.
.
sql.add('...... field2 = :param1........')
.
.
.
ParamByName('param1') := somevalue

但执行时出错,errormessage忘了,这是什么原因呢?请指教。
 
没有可能,要不你把 Message 写出来。
From: BaKuBaKu
 
接受答案了.
 
后退
顶部