把@符号去掉试试!
ADOSPNewCustomID.Parameters.ParamByName('NewID').value:='';
ADOSPNewCustomID.ExecProc;
edtID.text:= ADOSPNewCustomID.Parameters.Parambyname('@NewID').value;
ADOSPNewCustomID.Refresh;
ADOSPNewCustomID.Parameters.ParamByName('NewID').value:='';
ADOSPNewCustomID.ExecProc;
edtID.text:= ADOSPNewCustomID.Parameters.Parambyname('@NewID').value;
ADOSPNewCustomID.Refresh;
ADOSPNewCustomID.Parameters.ParamByName('NewID').value:='';
ADOSPNewCustomID.ExecProc;
edtID.text:= ADOSPNewCustomID.Parameters.Parambyname('NewID').value;
ADOSPNewCustomID.Refresh;
with myStoredProc do
begin
ProcedureName := 'proc_生成用户编号';
Parameters.Clear;
Parameters.AddParameter;
Parameters[0].Name := 'Return';
Parameters[0].Direction := pdReturnValue;
Parameters[0].DataType := ftInteger; Parameters.AddParameter;
Parameters[1].Name := '@NewID';
Parameters[1].Direction := pdInputOutput;
Parameters[1].DataType := ftString;
Parameters[1].Size := 6; ExecProc;
if Parameters[0].Value=0 then
begin
Edit1.Text := Parameters[1].Value;
end;
end;
Except
On E:EADOError do
begin
Application.MessageBox(Pchar('由于以下原因,操作失败:'+E.message),'出错',mb_OK+Mb_IconError);
Exit;
end;
end;
Parameters.Clear;