ClientDataSet1->Params->ParamByName("sAuthorName")->AsString = AuthorNameEdit->Text;ClientDataSet1->Params->ParamByName("sTempABC")->AsString = TempEdit->Text;
--这个不是返回值吗?为何要负TempEdit->Text的值给他呢?
这不是等于:
 Edit3->Text = ClientDataSet1->Params->ParamByName("sTempABC")->AsString=TempEdit->Text;写的有点乱,其实你问的问题与存储过程关系不大呀!AuthorNameEdit->Text就是你看的?
Edit3->Text 就是TempEdit->Text的东西?这个为什么要相等呢?好像都没有必然联系呀?还有存储过程的@sTempABC,不是要返回吗?你的存储过程都没有负值过呀,不是取出来为空吗?

解决方案 »

  1.   

    ClientDataSet1->Params->ParamByName("sTempABC")->AsString = TempEdit->Text;
    --这个不是返回值吗?为何要负TempEdit->Text的值给他呢?
    1.如果没有对这个参数初始化,程序执行时会出现错误提示信息。
    2.我的本意是在 AuthorNameEdit->Text输入一个汉字姓名,然后执行存储过程Search_OnAuthor模糊查询到含有该姓名的所有行信息。
    3.设置临时输出参数sTempABC来检验输入参数sAuthorName的正确性,因为我在AuthorNameEdit->Text输入汉字时,查询结果不正确。
    4.但是我在存储过程AS后对输入参数sAuthorName:set @sAuthorName = '张三'查询就正确。
    5.请问是何种原因造成的?