以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  带窗口控件变量值的存储过程如何实现?示例语句如下  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=13623)

--  作者:qhczy
--  发布时间:2011/10/20 11:11:00
--  带窗口控件变量值的存储过程如何实现?示例语句如下

create proc tep
SELECT ID,名称,SUM(isnull (数量,0))数量,SUM(isnull (金额,0)) 金额 
FROM tbA
where  年份=\'"&  e.Form.Controls("combobox1").text & "\'  and  月份 = \'"&  e.Form.Controls("combobx2").text & "\'
GROUP BY  ID,名称 

 

exec tep

 

在SQL中提示控件值无法转换.
在将 varchar 值 \'"&  e.Form.Controls("combobox1").text & "\' 转换成数据类型 smallint 时失败。


--  作者:狐狸爸爸
--  发布时间:2011/10/20 11:28:00
--  

1、为啥要合成存储过程啊,直接合成Select语句执行就行啊。

2、应该:

 

"Select ID,名称,SUM(isnull (数量,0))数量,SUM(isnull (金额,0)) 金额  FROM tbA where  年份=" &  e.Form.Controls("combobox1").text & "  and  月份 = " &  e.Form.Controls("combobx2").text &  &  "GROUP BY  ID,名称 "

 

 

因为年份和月份都是整数型,不应该用单引号的。


--  作者:qhczy
--  发布时间:2011/10/20 11:43:00
--  
语句太张了,想整合成存储过程来执行,但语句中有控件变量,创建存储过程后无法执行存储过程,只能用窗口+控件变量  执行SQL语句完成吗?