提示:@ldno varchar(12)有错误 请问怎么修改 CREATE PROCEDURE ftzg @ZGS float(8), @ZJS float(8), @LSN float(8), @LSN_S float(8), @ldno varchar(12) AS if @LSN-@ZJS>0 begin if @ZJS<>0 begin update 职工日胶水 set 实际胶水=(胶水+(胶水/@ZJS)*abs(@LSN-@ZJS)) where 职工编号 like '''+@ldno2+'%'' end end
提示:@ldno varchar(12)有错误 请问怎么修改 CREATE PROCEDURE ftzg @ZGS float(8), @ZJS float(8), @LSN float(8), @LSN_S float(8), @ldno varchar(12) AS if @LSN-@ZJS>0 begin if @ZJS<>0 begin update 职工日胶水 set 实际胶水=(胶水+(胶水/@ZJS)*abs(@LSN-@ZJS)) where 职工编号 like '''+@ldno+'%'' end end
提示:@ldno varchar(12)有错误 对数据类型而言运算符无效.运算符为modulo,类型为varchar CREATE PROCEDURE ftzg @ZGS float(8), @ZJS float(8), @LSN float(8), @LSN_S float(8), @ldno varchar(12) AS if @LSN-@ZJS>0 begin if @ZJS<>0 begin update 职工日胶水 set 实际胶水=(胶水+(胶水/@ZJS)*abs(@LSN-@ZJS)) where 职工编号 like '''+@ldno+'%'' end end
update 职工日胶水 set 实际胶水=(胶水+(胶水/'''+ZJS+''')*abs(B)) where 职工编号 like '''+ldno2+'%'''
update 职工日胶水 set 实际胶水=(胶水+(胶水/'''+ZJS+''')*abs(B)) where 职工编号 like '''+ldno2+'%''' 这样写SQL语句不对.
update 职工日胶水 set 实际胶水=(胶水+(胶水/:ZJS)*abs(B)) where 职工编号 like like '''+ldno2+'%'''; Parameters.ParamByName('zjs').Value:=zjs;根据你是否adoquery 或者query可能有点差别
update 职工日胶水 set 实际胶水=(胶水+(胶水/'''+ZJS+''')*abs(B)) where 职工编号 like '''+ldno2+'%''' 这样写当然不对了,你要把变量最终都转换为STRING类型 比如ZJS是个INT类型 那么就要INTTOSTT(ZJS)
update 职工日胶水 set 实际胶水=(胶水+(胶水/ZJS)*abs(B)) where 职工编号 like '''+ldno2+'%'''第一次见有人这样写sql语句。弓虽 应该这么写: sql.add('update 职工日胶水 set 实际胶水=(胶水+(胶水/:a)*abs(B)) where 职工编号 like '''+ldno2+'%''''); Parameters[0].value:=.....
CREATE PROCEDURE ftzg @ZGS float(8), @ZJS float(8), @LSN float(8), @LSN_S float(8), @ldno varchar(12) AS if @LSN-@ZJS>0 begin if @ZJS<>0 begin exec (' update 职工日胶水 set 实际胶水=(胶水+(胶水/'+@ZJS+')*abs(@LSN-@ZJS)) where 职工编号 like'''+@ldno+'%''') end end 用exec执行语句 @ZJS是字符串
update 职工日胶水 set 实际胶水=(胶水+(胶水/''+ZJS+'')*abs(B)) where 职工编号 like '''+ldno2+'%'''
CREATE PROCEDURE ftzg
@ZGS float(8),
@ZJS float(8),
@LSN float(8),
@LSN_S float(8),
@ldno varchar(12)
AS
if @LSN-@ZJS>0
begin
if @ZJS<>0
begin
update 职工日胶水 set 实际胶水=(胶水+(胶水/@ZJS)*abs(@LSN-@ZJS)) where 职工编号 like '''+@ldno2+'%''
end
end
CREATE PROCEDURE ftzg
@ZGS float(8),
@ZJS float(8),
@LSN float(8),
@LSN_S float(8),
@ldno varchar(12)
AS
if @LSN-@ZJS>0
begin
if @ZJS<>0
begin
update 职工日胶水 set 实际胶水=(胶水+(胶水/@ZJS)*abs(@LSN-@ZJS)) where 职工编号 like '''+@ldno+'%''
end
end
CREATE PROCEDURE ftzg
@ZGS float(8),
@ZJS float(8),
@LSN float(8),
@LSN_S float(8),
@ldno varchar(12)
AS
if @LSN-@ZJS>0
begin
if @ZJS<>0
begin
update 职工日胶水 set 实际胶水=(胶水+(胶水/@ZJS)*abs(@LSN-@ZJS)) where 职工编号 like '''+@ldno+'%''
end
end
这样写SQL语句不对.
Parameters.ParamByName('zjs').Value:=zjs;根据你是否adoquery 或者query可能有点差别
这样写当然不对了,你要把变量最终都转换为STRING类型
比如ZJS是个INT类型
那么就要INTTOSTT(ZJS)
应该这么写:
sql.add('update 职工日胶水 set 实际胶水=(胶水+(胶水/:a)*abs(B)) where 职工编号 like '''+ldno2+'%'''');
Parameters[0].value:=.....
@ZGS float(8),
@ZJS float(8),
@LSN float(8),
@LSN_S float(8),
@ldno varchar(12)
AS
if @LSN-@ZJS>0
begin
if @ZJS<>0
begin
exec (' update 职工日胶水 set 实际胶水=(胶水+(胶水/'+@ZJS+')*abs(@LSN-@ZJS)) where 职工编号 like'''+@ldno+'%''')
end
end
用exec执行语句
@ZJS是字符串