存储过程参数的传递!重谢!!!(100分)

  • 主题发起人 主题发起人 lym97230
  • 开始时间 开始时间
L

lym97230

Unregistered / Unconfirmed
GUEST, unregistred user!
我建了一个存储过程如下:
use pubs
IF EXISTS (SELECT name FROM sysobjects
WHERE name = 'PAuthor' AND type = 'P')
DROP PROCEDURE PAuthor
GO
CREATE PROCEDURE PAuthor @name varchar(50)
as
select *
from authors
where au_lname in (@name)
编程时,我用了一个var str:string参数进行传值,其语句如下:
sqlstr:='EXECUTE PAuthor @custem='+str ;
qry.Close;
qry.SQL.Clear ;
qry.SQL.Add(sqlstr);
qry.Open ;
最后跟踪得到语句如下:
EXEC PAuthor @name='White','Green'
请问为什么不能这样执行,如何才能正确执行,请各位大侠赐教,万分感激!!!重赏!
 
你最后得到的會被SQL認為是2個參數。所以不行
 
sqlstr:='EXECUTE PAuthor @custem='+str ;
qry.Close;
qry.SQL.Clear ;
qry.SQL.text:=sqlstr;
qry.prepare;
qry.Open ;
.add('')属性为Tstrings,而不是string
 
zou2062,是的,系统确实把它当作两个参数,但怎么样做才对呢?谢谢赐教!

qinjlin76,我按你的方法做了,好象还是不能解决!
 
后退
顶部