我的存储过程是这样的:
CREATE PROCEDURE user_ck_khhj
@ckslhj float output,
@cbjehj float output,
@jjjehj float output,
@xsjehj float output,
@ckrq_qs datetime,
@ckrq_jz datetime,
@kf [nvarchar] (1),
@ckdh [nvarchar] (10)
AS
select @ckslhj=sum(cksl),@cbjehj=sum(cbje),@jjjehj=sum(jjje),@xsjehj=sum(xsdj*cksl) from View_ck_kh_spdm
where ckrq>=@ckrq_qs and ckrq<=@ckrq_jz and (kf like '%'+@kf+'%') and (ckdh like '%'+@ckdh+'%')
GO
在delphi中这样处理:
AdoQuery_ckcx.Open;
ADOStoredProc1.Parameters[5].Value := datetimepicker1.Date;
ADOStoredProc1.Parameters[6].Value := datetimepicker2.Date;
ADOStoredProc1.Parameters[7].Value := comboBox_kf.Text;
ADOStoredProc1.Parameters[8].Value := Edit_ckdh.Text; ADOStoredProc1.Prepared;
ADOStoredProc1.ExecProc;
Edit_slhj.Text := ADOStoredProc1.Parameters[1].Value;
Edit_cbhj.Text := ADOStoredProc1.Parameters[2].Value;
Edit_jjhj.Text := ADOStoredProc1.Parameters[3].Value;
Edit_xjhj.Text := ADOStoredProc1.Parameters[4].Value;我已经赋初值:
EDit_ckdh.text := '';
ComboBox_kf.text := '';
在Edit_ckdh中如果不输入任何内容,却出现了如下提示:
不允许从数据类型text到nvarchar的隐性转换。请使用Convert函数来运行查询。
我在未加Edit_ckdh内容时,没有问题,但我加了后,却出现这种问题,不知道是什么原因?
另外,我如果在Edit_ckdh中输入正确的数据库数据内容,就能进行计算?但是如果是在数据中没有的内容也出现错误:“Invalid variant type conversion."
我刚刚接触存储过程,不太明白,不知道如何应用转换,convert 希望各位高手指点!
CREATE PROCEDURE user_ck_khhj
@ckslhj float output,
@cbjehj float output,
@jjjehj float output,
@xsjehj float output,
@ckrq_qs datetime,
@ckrq_jz datetime,
@kf [nvarchar] (1),
@ckdh [nvarchar] (10)
AS
select @ckslhj=sum(cksl),@cbjehj=sum(cbje),@jjjehj=sum(jjje),@xsjehj=sum(xsdj*cksl) from View_ck_kh_spdm
where ckrq>=@ckrq_qs and ckrq<=@ckrq_jz and (kf like '%'+@kf+'%') and (ckdh like '%'+@ckdh+'%')
GO
在delphi中这样处理:
AdoQuery_ckcx.Open;
ADOStoredProc1.Parameters[5].Value := datetimepicker1.Date;
ADOStoredProc1.Parameters[6].Value := datetimepicker2.Date;
ADOStoredProc1.Parameters[7].Value := comboBox_kf.Text;
ADOStoredProc1.Parameters[8].Value := Edit_ckdh.Text; ADOStoredProc1.Prepared;
ADOStoredProc1.ExecProc;
Edit_slhj.Text := ADOStoredProc1.Parameters[1].Value;
Edit_cbhj.Text := ADOStoredProc1.Parameters[2].Value;
Edit_jjhj.Text := ADOStoredProc1.Parameters[3].Value;
Edit_xjhj.Text := ADOStoredProc1.Parameters[4].Value;我已经赋初值:
EDit_ckdh.text := '';
ComboBox_kf.text := '';
在Edit_ckdh中如果不输入任何内容,却出现了如下提示:
不允许从数据类型text到nvarchar的隐性转换。请使用Convert函数来运行查询。
我在未加Edit_ckdh内容时,没有问题,但我加了后,却出现这种问题,不知道是什么原因?
另外,我如果在Edit_ckdh中输入正确的数据库数据内容,就能进行计算?但是如果是在数据中没有的内容也出现错误:“Invalid variant type conversion."
我刚刚接触存储过程,不太明白,不知道如何应用转换,convert 希望各位高手指点!
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货