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



运行此代码时发生此错误

过程学生插入没有参数,并且提供了参数。

<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 字符的名称。

相关内容

  • 没有找到相关文章

最新更新