cfprocparam 抛出错误执行数据库查询

cfprocparam throwing Error Executing Database Query

当我运行这段代码

时出现这个错误

Procedure studentinsert has no parameters and arguments were supplied.

<cfstoredproc procedure="studentinsert" datasource="student" result="res">
  <cfprocparam cfsqltype="cf_sql_varchar" value="john">
  <cfprocparam cfsqltype="cf_sql_varchar" value="cse">
</cfstoredproc>

mssql 创建了table

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

请注意,此示例使用与问题中的 table 定义相同的列类型,但是在大多数应用程序中,除非您确定永远不需要支持具有 unicode 字符的名称,否则我建议使用 nvarchar 而不是 varchar varchar 不支持。