ADOQuery1.SQL.ADD如下declare @partner varchar(100)
declare @saleman varchar(100)set @partner = :业务单位
set @saleman = :业务员insert 业务员收益表(销售流水,收益名称,金额,
日期,业务员编号,业务单位编号)
select 0,:收益名称,:金额,:日期,
(select top 1 编号 from 业务人员表 where
cast(编号 as varchar(10)) like @saleman
or 姓名 like @saleman
),
(
select top 1 单位编号 from 业务单位表 where
cast(单位编号 as varchar(10)) like @partner
or 单位名称 like @partner
)
SQL探查器监视到结果居然如下exec sp_executesql N'declare @partner varchar(100)
declare @saleman varchar(100)
set @partner = @P1
set @saleman = @P2insert 业务员收益表(销售流水,收益名称,金额,
日期,业务员编号,业务单位编号)
select 0,@P3,@P4,@P5,
(select top 1 编号 from 业务人员表 where
cast(编号 as varchar(10)) like @saleman
or 姓名 like @saleman
),
(
select top 1 单位编号 from 业务单位表 where
cast(单位编号 as varchar(10)) like @partner
or 单位名称 like @partner
)', N'@P1 varchar(4),@P2 text,@P3 varchar(6),@P4 varchar(4),@P5 float', '三江', '', '承兑汇', '1000', 3.859636995857640e+004'三江'实际输入的是'三江公司';承兑汇,应该是承兑汇票.
为什么数据会发生如此变化?
declare @saleman varchar(100)set @partner = :业务单位
set @saleman = :业务员insert 业务员收益表(销售流水,收益名称,金额,
日期,业务员编号,业务单位编号)
select 0,:收益名称,:金额,:日期,
(select top 1 编号 from 业务人员表 where
cast(编号 as varchar(10)) like @saleman
or 姓名 like @saleman
),
(
select top 1 单位编号 from 业务单位表 where
cast(单位编号 as varchar(10)) like @partner
or 单位名称 like @partner
)
SQL探查器监视到结果居然如下exec sp_executesql N'declare @partner varchar(100)
declare @saleman varchar(100)
set @partner = @P1
set @saleman = @P2insert 业务员收益表(销售流水,收益名称,金额,
日期,业务员编号,业务单位编号)
select 0,@P3,@P4,@P5,
(select top 1 编号 from 业务人员表 where
cast(编号 as varchar(10)) like @saleman
or 姓名 like @saleman
),
(
select top 1 单位编号 from 业务单位表 where
cast(单位编号 as varchar(10)) like @partner
or 单位名称 like @partner
)', N'@P1 varchar(4),@P2 text,@P3 varchar(6),@P4 varchar(4),@P5 float', '三江', '', '承兑汇', '1000', 3.859636995857640e+004'三江'实际输入的是'三江公司';承兑汇,应该是承兑汇票.
为什么数据会发生如此变化?
adoquery1.parameters.parambyname('业务单位').value:='三江公司'
在为参数赋值时改成这样试试.