delphi 存储过程 传递输入参数

来源:百度知道 编辑:UC知道 时间:2024/05/16 06:55:59
procedure TForm1.Button1Click(Sender: TObject);
begin
with adoStoredproc1 do begin
close;
Parameters.Clear;
ProcedureName := 'charu;1';
Parameters.CreateParameter('@stno',ftString,pdInput,100,edit1.text);
Parameters.CreateParameter('@stname',ftString,pdInput,100,edit2.text);
Parameters.CreateParameter('@stsex',ftString,pdInput,100,edit3.text);
Parameters.CreateParameter('@stage',ftString,pdInput,100,edit4.text);
Parameters.CreateParameter('@stdept',ftString,pdInput,100,edit5.text);
Open;
end;
end;
end.
运行后提示adoStoredproc1;commandtext does not return a result set

procedure TForm1.Button1Click(Sender: TObject);
begin
with adoStoredproc1 do begin
close;
Parameters.Clear;
ProcedureName := 'charu;1';
Parameters.CreateParameter('@stno',ftString,pdInput,25,edit1.text);
Parameters.CreateParameter('@stname',ftString,pdInput,25,edit2.text);
Parameters.CreateParameter('@stsex',ftString,pdInput,25,edit3.text);
Parameters.CreateParameter('@stage',ftfloat,pdInput,0,strtofloat(edit4.text));
Parameters.CreateParameter('@stdept',ftString,pdInput,25,edit5.text);
ExecProc;
end;
end;
end.

执行的是 插入删除吧?
select 时是用open的
但是更新、插入时是要用 Execute 的,楼上的正确。。