在经典ASP页面上调用存储过程

时间:2009-06-09 20:35:26

标签: sql-server stored-procedures asp-classic

我一整天都在努力从传统的ASP页面调用存储过程。我有几个基本的noobie问题。

首先,这是向我的命令添加参数的最佳方法:

cmd.Parameters.Append cmd.CreateParameter("@SubmissionDate", adDBTimeStamp, adParamInput, , txtDate)

第二,adDbTimeStamp是否在我的存储过程中映射到smalldatetime参数时要使用的正确类型?

第三,如何将空日期传递给日期时间存储过程?

此外,哪些编辑器在经典ASP开发中很受欢迎。有人告诉我使用Dreamweaver(买了CS4),但我确实遇到了一些性能问题,并降级到强大的NotePad。

谢谢!

3 个答案:

答案 0 :(得分:2)

3

要将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 ++闲逛。