使用经典asp中的存储过程将表单数据插入数据库

时间:2014-11-07 06:56:41

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

我有一张表格。其数据必须插入数据库(sql server 2008)。我写了插入程序。如何在经典ASP中使用存储过程插入表单数据?需要一些帮助,因为我是asp和ado的新手。

ALTER PROCEDURE INSERTVALUE 
    @COMPANY_ID INT ,
    @COMPANY_NAME VARCHAR(20),
    @SALES_REP VARCHAR (20),
    @CONTRACT_ADMIN VARCHAR (20)

AS
BEGIN
    INSERT INTO [form].[dbo].[COMPANY]
           ([COMPANY_ID]
           ,[COMPANY_NAME]
           ,[SALES_REP]
           ,[CONTRACT_ADMIN])
     VALUES (@COMPANY_ID,@COMPANY_NAME,@SALES_REP,@CONTRACT_ADMIN);
END
GO

编辑(最初和错误地发布为答案)

我尝试执行以下代码但发生错误。 ADODB.Command错误' 800a0bb9'参数类型错误,超出可接受的范围,或彼此冲突。 /AddForm.asp,第15行 -

set rs=Server.CreateObject("ADODB.recordset")
Set cmd = Server.CreateObject("ADODB.Command")
Set cmd.ActiveConnection = cnn
sql = " SELECT * FROM COMPANY"
rs.Open sql, cnn
If Request("submit") <> "" Then 
cmd.CommandText = "INSERTVALUE"
cmd.CommandType = adCmdStoredProc
cmd.Parameters.Append cmd.CreateParameter("@COMPANY_ID",adint,adParamInput,10,Request.form("CompanyId")) 
cmd.Parameters.Append cmd.CreateParameter("@COMPANY_NAME",advarchar,adParamInput,10, Request.form("company_name"))
cmd.Parameters.Append cmd.CreateParameter("@SALES_REP",advarchar,adParamInput,10,Request.form("sales_rep")) 
cmd.Parameters.Append cmd.CreateParameter("@CONTRACT_ADMIN",advarchar,adParamInput,10,  Request.form("contract_admin"))
cmd.Execute     
End If

1 个答案:

答案 0 :(得分:0)

问题的一个可能原因和教程没有告诉你(或者至少我发现的那些没有):如果找不到adovbs.inc文件,它会给你:< / p>

ADODB.Comman error '800a0bb9'
Arguments are of the wrong type, are out of acceptable range, or are in conflict 
with one another.

我必须明确地包含它的副本。