sql server中的存盤程序
--添加產品的存盤程序
Create proc up_insert_proc
@產品號 char(20) ,
@產品名 char(100),
@單價 money,
@規格 float ,
@庫存量 int
as
begin
if exists(select * from 產品 where 產品號=@產品號)
begin
begin
print'該產品已經存在' --有相同的資料,直接回傳值
end
begin
update 產品 set 庫存量=@庫存量+庫存量 where 產品號=@產品號
print'更新該產品資訊成功' --有主鍵相同的資料,進行更新處理
end
end
else
begin
insert into 產品(產品號,產品名,單價,規格,庫存量) values(@產品號,@產品名,@單價,@規格,@庫存量)
print '添加產品成功' --沒有相同的資料,進行插入處理
end
end
go
delphi中呼叫存盤程序代碼
procedure TForm3.Button1Click(Sender: TObject);
var
ret:integer;
begin
with ADOStoredProc1 do
begin
Close;
ProcedureName:='up_inset_proc';
Parameters.Clear;
Parameters.Refresh;
Parameters.ParamByName('@產品號').Value:= Edit3.text;
Parameters.ParamByName('@產品名').Value:= Edit4.text;
Parameters.ParamByName('@單價').Value:= Edit5.text;
Parameters.ParamByName('@規格').Value:= Edit6.text;
Parameters.ParamByName('@庫存量').Value:= Edit7.text;
ExecProc;
ret:= Parameters.ParamByName('@return_value').Value;
end;
end;


uj5u.com熱心網友回復:
procedure TForm3.Button1Click(Sender: TObject);var
ret:integer;
begin
with ADOStoredProc1 do
begin
Close;
ProcedureName:='up_inset_proc';
Parameters.Clear;
Parameters.Refresh;
Parameters.Params[0].Value:= Edit3.text;
Parameters.Params[1].Value:= Edit4.text;
Parameters.Params[2].Value:= Edit5.text;
Parameters.Params[3].Value:= Edit6.text;
Parameters.Params[4].Value:= Edit7.text;
ExecProc;
ret:= Parameters.Params[5].Value;
end;
end;
uj5u.com熱心網友回復:
未找到引數@產品號。你的引數只是在sql中定義的。不是在D里面定義的。所以找不到。通過讀取引數的下標去查找。uj5u.com熱心網友回復:
樓主錯誤提示的很清楚了,@產品名 沒有找到啊。uj5u.com熱心網友回復:
沒有找到未找到引數@產品號,是否沒有定義該引數轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/59114.html
標籤:數據庫相關
上一篇:怎么提取資料里的內容
下一篇:使用ODAC時的奇怪問題
