我用SQL2000数据库
数据库中有SP_YHB存储过程
代码如下
CREATE PROCEDURE [sp_yhb]
@lx VARCHAR(20)='1'
AS
if '1'=@lx
begin
SELECT A.vc_CWUnit, A.vc_Name, A.vc_password, B.vc_sex, B.in_age
FROM dbo.yhb A INNER JOIN
dbo.YHXXB B ON A.in_ID = B.in_yhbid
end
if '2'=@lx
begin
SELECT B.vc_sex, B.in_age
FROM dbo.yhb A INNER JOIN
dbo.YHXXB B ON A.in_ID = B.in_yhbid
end
GO
中间层有ADOStoredProc控件SP_SEARCH,DataSetProvider控件DP,adoconnection控件ADO
连接正常
中间层又方法SEARCH
代码如下
procedure TTEST.SEARCH(const lx, sqltable: WideString);
begin
with SP_SEARCH,Parameters do
begin
Close;
ProcedureName := sqltable;
Refresh;
Parameters[1].Value :=lx;
OPEN;
END;
// DP.Exported:=TRUE;
end;
客户端调用代码如下procedure TForm1.BitBtn1Click(Sender: TObject);
var
obj:OleVariant;
begin
obj := CreateOleObject('P_TEST.TEST');
OBJ.SEARCH('2','sp_yhb;1');
// ClientDataSet1.ProviderName:='DP';
ClientDataSet1.Active:=true;
end;问题是
我调用SEARCH方法传递的LX参数无效
如我在存储过程SP_YHB中不为@LX赋初始值,运行提示sp_yhb未为@lx赋值
如果设置初始值,则只能执行赋了初始值的查询,查询结果正常,但这样调用方法传递的参数LX就没有意义了
请教各位!
数据库中有SP_YHB存储过程
代码如下
CREATE PROCEDURE [sp_yhb]
@lx VARCHAR(20)='1'
AS
if '1'=@lx
begin
SELECT A.vc_CWUnit, A.vc_Name, A.vc_password, B.vc_sex, B.in_age
FROM dbo.yhb A INNER JOIN
dbo.YHXXB B ON A.in_ID = B.in_yhbid
end
if '2'=@lx
begin
SELECT B.vc_sex, B.in_age
FROM dbo.yhb A INNER JOIN
dbo.YHXXB B ON A.in_ID = B.in_yhbid
end
GO
中间层有ADOStoredProc控件SP_SEARCH,DataSetProvider控件DP,adoconnection控件ADO
连接正常
中间层又方法SEARCH
代码如下
procedure TTEST.SEARCH(const lx, sqltable: WideString);
begin
with SP_SEARCH,Parameters do
begin
Close;
ProcedureName := sqltable;
Refresh;
Parameters[1].Value :=lx;
OPEN;
END;
// DP.Exported:=TRUE;
end;
客户端调用代码如下procedure TForm1.BitBtn1Click(Sender: TObject);
var
obj:OleVariant;
begin
obj := CreateOleObject('P_TEST.TEST');
OBJ.SEARCH('2','sp_yhb;1');
// ClientDataSet1.ProviderName:='DP';
ClientDataSet1.Active:=true;
end;问题是
我调用SEARCH方法传递的LX参数无效
如我在存储过程SP_YHB中不为@LX赋初始值,运行提示sp_yhb未为@lx赋值
如果设置初始值,则只能执行赋了初始值的查询,查询结果正常,但这样调用方法传递的参数LX就没有意义了
请教各位!
解决方案 »
- 想做个数据库连接异常的人性化处理
- cxGrid焦点控制
- ◆◆◆如何修改OpenPictureDialog使其可以预览文本文件?
- 幫我寫一個Delphi循環語句,直到Table內的記錄爲空.然後分別求出各個字段的值.另外我要根據各字段的值進行計算,由計算結果update另一個Tab
- 请问,拖拉文件问题
- 如何保存一个记录集合,需要的时候还能读出?
- 如何在DBGRID中实现二次检索??
- 可能各位都没有遇到的问题!sql2000不定期丢失数据!在线等待!分不够可添!急!!!
- 请问DBLookupComboBox怎么用?
- 我要将SQL中的yjy.mdf 数据库中的表 abc 导出成 abc.dbf文件,请问如何操作!谢谢!
- 请教delphi如何写服务
- IdTCPClient在线程中发送buf,IdTCPServer.ReadBuff为什么会出错?
Parameters[1].Value :=lx;
这句写错了
不过用Parameters[0].Value :=lx;
或者 ParamByName('lx').Value :=lx;
结果一样
还是无法赋值