CREATE PROCEDURE TestPro 
@tt  varchar(20)
AS
select * from Equipment where Eq_Name=@tt;
GOtt為傳入參數,在表Equipment中Eq_Name字段下有符合的紀錄
返回結果為空紀錄集,為什么?
我直接寫ADOQuery.sql.text:='select * from Equipment where Eq_Name='''+tt+''''
查詢是有結果的

解决方案 »

  1.   

    ltrim(rtrim(@TT)) 去掉一下空格试试
      

  2.   

    你是说调用存储过程时就初截断了,还是在存储过程的select 语句处理时被截断了,在存储过程里,不会有问题的。 varchar(20) ,肯定可以满足四个汉字的输入。
      

  3.   

    我在存储过程里面写
    select *,@tt  from Equipment where Eq_Name<>@tt; //这里是<> 不是=
    结果中最后一列显示为'游标'
      

  4.   

    这个跟ADOStoredProc1.Parameters的DataType是不是有关系,我用的是默认的ftunknown
      

  5.   

    传'ddddd游标卡尺' 显示'ddddd游标'
    传'游標卡尺等等' 显示'游標卡'