我有一张表格。其数据必须插入数据库(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
答案 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.
我必须明确地包含它的副本。