//传递参数给后台存储过程
with CDS do
begin
Close; i
FetchParams;
Params.ParamByName('@Gsdm').Value :=trim(edit3.text);
Params.ParamByName('@Bmdm').Value :=trim(edit2.text);
Params.ParamByName('@Lbdm').Value :=trim(edit1.text);
Params.ParamByName('@sType').Value :='N';
Params.ParamByName('@sYM').Value :=FormatDateTime('YYYYMM',DateTimePicker1.Date);
Open;
end;
edit3.text 默认值为 ’' 有一个空格
edit2.text 默认值为 '' 无空格
edit1.text 默认值为 '' 无空格我跟下来是此句
exec fa_kpzjdata @Gsdm=null,@Bmdm=null,@Lbdm=null,@sType='N',@sYM='200405'
with CDS do
begin
Close; i
FetchParams;
Params.ParamByName('@Gsdm').Value :=trim(edit3.text);
Params.ParamByName('@Bmdm').Value :=trim(edit2.text);
Params.ParamByName('@Lbdm').Value :=trim(edit1.text);
Params.ParamByName('@sType').Value :='N';
Params.ParamByName('@sYM').Value :=FormatDateTime('YYYYMM',DateTimePicker1.Date);
Open;
end;
edit3.text 默认值为 ’' 有一个空格
edit2.text 默认值为 '' 无空格
edit1.text 默认值为 '' 无空格我跟下来是此句
exec fa_kpzjdata @Gsdm=null,@Bmdm=null,@Lbdm=null,@sType='N',@sYM='200405'
exec fa_kpzjdata @Gsdm=' ',@Bmdm='',@Lbdm='',@sType='N',@sYM='200405'
Params.ParamByName('@Bmdm').Value :=edit2.text;
Params.ParamByName('@Lbdm').Value :=edit1.text);
Params.ParamByName('@sType').Value :='N';
Params.ParamByName('@sYM').Value :=FormatDateTime('YYYYMM',DateTimePicker1.Date);
Open;
end;
edit3.text 默认值为 ’' 有一个空格
edit2.text 默认值为 '' 无空格
edit1.text 默认值为 '' 无空格
还是不行
CREATE PROCEDURE dbo.sp_query
@qi_querycode varchar(3),
@qi_firstcode varchar(2),
@qi_queryresult varchar(255) output
WITH RECOMPILE
AS
select @qi_queryresult ='/' + @qi_querycode + '/' + @qi_firstcode + '/'
return 0
GO测试程序:
procedure TForm1.Button1Click(Sender: TObject);
begin
with ADOStoredProc1 do
begin
Close;
Parameters.ParamByName('@qi_querycode').Value :=edit1.text;
Parameters.ParamByName('@qi_firstcode').Value :=edit2.text;
ExecProc;
ShowMessage(Parameters.ParamValues['@qi_queryresult']);
end;
end;
没有发现问题
:-(