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 不支持。
当我运行这段代码
时出现这个错误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 不支持。