AdoQuery.Parameters.parambyname('(@InParam').value:=x;
解决方案 »
- TclientSocket/tServerSocket连接外网
- delphi 如何 MySQL Data Access Components (MyDAC) v5.10
- 如何注册多个系统热键
- idhttp设置代理服务器无效
- 感谢lihuasoft(坐井观天) ,特开此帖送分。:)
- 很简单的问题,是关于TIdTCPClient控件的.
- 我要把画布上的图形拷贝至图片里,这样有什不妥?
- 如何屏蔽和恢复dbgrid1的ondblclick事件
- sql语句为何执行不了?????
- FastReport2.5中如何让页脚在每页都打印?
- 各位:DELPHI 6 中使用 FILTERCOMBOBOX控件时,编译提示WARNING: FILECTRL UNIT IS SPESIFIC TO FLATFORM
- 报表问题:使用QuickRep中能否显示其他窗体得到的某个变量?如查询条件(日期范围)等。怎样实现?
ShowMessage(inttostr(AdoQuery.Parameters.parambyname('@OupParam').value));
ADOQuery.Parameters[0].Name:='InParam';
ADOQuery.Parameters[0].Direction:=pdInput;
ADOQuery.Parameters[0].DataType:=ftString;
ADOQuery.Parameters[0].Value:=;ADOQuery.Parameters.AddParameter;
ADOQuery.Parameters[1].Name:='OutParam';
ADOQuery.Parameters[1].Direction:=pdOutput;
ADOQuery.Parameters[1].DataType:=ftString;
ADOQuery.Parameters[1].Value:=;
with AdoQuery1 do begin
// Parameters.parambyname('@InParam').value:=100;
sql.add('exec MySp @InParam,@Outparam OutPut');
Parameters.parambyname('@InParam').value:=100;
ShowMessage(inttostr(AdoQuery1.Parameters.parambyname('@OutParam').value));
end;
错误提示
@InParam参数没有找到
with AdoQuery1 do begin
Close;
Sql.Clear;
Sql.Add('Declare @aa Int');
Sql.Add('Declare @bb Int');
Sql.Add('Set @aa=100');
Sql.Add('Exec MySP @aa,@bb Output');
Sql.Add('Select @bb');
Open;
ShowMessage(Fields[0].AsString);
end;
@xh char(10) ,
@result int OUTPUT
AS
declare @nbid int set @nbid=(select nbid from tbGxkStuInfo where xh=@xh)
set @result=(select count(*) from tbGxkXkjg where nbid=@nbid group by nbid) GO这是我的代码调用: DM.ADOStoredProc.ProcedureName:='prCountStuXkjg'; DM.ADOStoredProc.Parameters.AddParameter;
DM.ADOStoredProc.Parameters[0].Name:='xh';
DM.ADOStoredProc.Parameters[0].Direction:=pdInput;
DM.ADOStoredProc.Parameters[0].DataType:=ftString;
DM.ADOStoredProc.Parameters[0].Value:=edtXh.Text; DM.ADOStoredProc.Parameters.AddParameter;
DM.ADOStoredProc.Parameters[1].Name:='result';
DM.ADOStoredProc.Parameters[1].Direction:=pdReturnValue;
DM.ADOStoredProc.Parameters[1].DataType:=ftInteger; DM.ADOStoredProc.ExecProc;
另外说一句,ADO的几个控件都是从ADO原生的Dataset继承下来的,只要改改CommandType,都可以通用。
谢谢,那么用AdoQuery如何来实现
要求给出完整的调用部分
as
Declare @param_out char(25)
use pubs
select @param_out=authors from pubs
select param_out @param_out------------------------
Myquery.close;
Myquery.sql.clear;
Myquery.sql.add('exec MyProc');
Myquery.Open;//如果没有返回记录集用myquery.execsql;
while not myquery.eof do
begin
showmessage(myquery.fieldbyname('param_out').asstring);
myquery.next;
end;
myquery.close;
还记得我吗 我把你的QQ丢了
帮我看一个关于F1ook的贴子
http://www.csdn.net/expert/topic/462/462612.shtm
ADOQuery.Parameters[0].Name:='InParam';
ADOQuery.Parameters[0].Direction:=pdInput;
ADOQuery.Parameters[0].DataType:=ftString;
ADOQuery.Parameters[0].Value:=; ADOQuery.Parameters.AddParameter;
ADOQuery.Parameters[1].Name:='OutParam';
ADOQuery.Parameters[1].Direction:=pdOutput;
ADOQuery.Parameters[1].DataType:=ftString;
AdoQuery.execSQL;
showmessage(AdoQuery.Parameters[1].Value);