我一整天都在努力从传统的ASP页面调用存储过程。我有几个基本的noobie问题。
首先,这是向我的命令添加参数的最佳方法:
cmd.Parameters.Append cmd.CreateParameter("@SubmissionDate", adDBTimeStamp, adParamInput, , txtDate)
第二,adDbTimeStamp是否在我的存储过程中映射到smalldatetime参数时要使用的正确类型?
第三,如何将空日期传递给日期时间存储过程?
此外,哪些编辑器在经典ASP开发中很受欢迎。有人告诉我使用Dreamweaver(买了CS4),但我确实遇到了一些性能问题,并降级到强大的NotePad。
谢谢!
答案 0 :(得分:2)
要将null参数传递给存储过程,您只需传递它并提供默认值。
CREATE PROCEDURE Demo
@Test datetime = NULL
AS
BEGIN
-- BLAH
END
答案 1 :(得分:1)
嗯,我几年没有使用过经典的ASP了,不过我可以告诉你,Google需要你的答案是“ADO”(不是ADO.Net)
以下链接有一个使用ADO在VBScript中执行存储过程的示例,我会尝试这样的示例,直到找到有效的方法。
http://www.15seconds.com/issue/010718.htm
此刻我选择的文本编辑器是“Notepad ++”,不知道它如何处理经典的asp,但它可能值得一试,它比记事本更适合你。
答案 2 :(得分:0)
adDBTimeStamp
是传递日期时间的正确数据类型,使用Append / CreateParameter是创建参数的最佳方式。
但是txtDate
会是一个字符串吗?您应该首先将其转换为Date类型。这听起来并不容易,除非您能够非常确定在表格上输入数据时使用的日期格式。
要传入null,只需将参数替换为Null表达式值: -
cmd.Parameters.Append cmd.CreateParameter("@SubmissionDate", adDBTimeStamp, adParamInput, , null)
我使用VS2005 / 2008来编辑大多数ASP,但是当我想快速调整内容时,我喜欢让Notepad ++闲逛。