hur.cn - 华软网

 热门搜索

如何写带参数的sql

  作者:未知    来源:网络    更新时间:2019/12/1
我的sql以下,请列位大侠帮帮助,急在线等。
update commod_gz_gys set dzxl=(select dzxl from commod where code=:code) where code=:code
------华软网友回答------
动态sql语句,第二个格式:
定义SQLSA即可:
INT  Emp_id_var = 56

PREPARE SQLSA 

        FROM "DELETE FROM employee WHERE emp_id=?" ;

EXECUTE SQLSA USING :Emp_id_var ;


------华软网友回复------
我这样写了,可是好像没有用。能帮我写一下吗?
------华软网友回复------
列位大侠帮帮助吧
------华软网友回复------
string code
code=sle_1.text

PREPARE SQLSA 

        FROM "update commod_gz_gys set dzxl=(select dzxl from commod where code=?) where code=?" ;

EXECUTE SQLSA USING :code ;

是这样的吗?
------华软网友回复------
是这样写的!
提交了吗?

写个简单的语句试试就知道了!
------华软网友回复------
运用带输入输出参数的存储进程,方法以下:
string s_CPZD_NAME
declare getCPZD_NAME procedure for proc_getCPZD_NAME
@result=:s_CPZD_NAME output,
@CPZD_ID=:cpzd_id;
execute getCPZD_NAME;
fetch getCPZD_NAME into:s_CPZD_NAME;
close getCPZD_NAME;

存储进程为:
create proc proc_getCPZD_NAME
(
@CPZD_ID char(10),
@result varchar(100) output
)
as
begin
select @result=(select CPZD_NAME from CPZD where CPZD_ID=@CPZD_ID)
end
go

如果仅仅是输入参数,那么去掉:fetch getCPZD_NAME into:s_CPZD_NAME;


------华软网友回复------
跟蹤一下SQL就知了
------华软网友回复------
string code
code=sle_1.text

PREPARE SQLSA 

        FROM "update commod_gz_gys set dzxl=(select dzxl from commod where code=?) where code=?" ;

EXECUTE SQLSA USING :code ;

if sqlca.sqlcode = 0 then
  commit;
  messagebox("","成功")
else
  messsagebox("毛病",sqlca.sqlerrtext)
  rollback;
end if
要加上判断运行结果的语句

------华软网友回复------
上面语句随便打的,你自己修改一下就能运行      
华软声明:本内容来自网络,如有侵犯您版权请来信指出,本站立即删除。