运行此代码时发生此错误
过程学生插入没有参数,并且提供了参数。
<cfstoredproc procedure="studentinsert" datasource="student" result="res">
<cfprocparam cfsqltype="cf_sql_varchar" value="john">
<cfprocparam cfsqltype="cf_sql_varchar" value="cse">
</cfstoredproc>
MSSQL创建的表
CREATE TABLE student(
studentid int identity(1,1) PRIMARY KEY,
studentname varchar(255),
dept varchar(255),
);
创建的过程
CREATE PROCEDURE studentsub
AS
BEGIN
SELECT *FROM student
END;
执行学生子
CREATE PROCEDURE studentinsert
AS
BEGIN
INSERT INTO student (studentname,dept)
VALUES ('john','cse');
END
错误非常明显 - 您需要在存储过程中定义参数,例如:
CREATE PROCEDURE studentinsert @studentname varchar(255), @dept varchar(255)
AS
BEGIN
INSERT INTO student (studentname,dept)
VALUES (@studentname, @dept);
END
请注意,此示例使用与问题中的表定义相同的列类型,但是在大多数应用程序中,我会推荐 nvarchar 而不是 varchar,除非您确定永远不需要支持带有 varchar 不支持的 unicode 字符的名称。