存储过程,参数未提供,但是已经提供了,还是报错
一个存储过程,如下:
CREATE PROCEDURE RegisterNewBook
@Cover NVARCHAR(1000),--图书的封面
@OldISBN NVARCHAR(20), --图书旧的ISBN号
@NewISBN NVARCHAR(20), --图书新的ISBN号,如果遇到旧的10位ISBN则进行转化到13位的新ISBN
@BookName NVARCHAR(100), --图书名
@Author NVARCHAR(100), --图书作者
@BookPrice NUMERIC(18,2), --书价
@CD BIT,--是否有光盘
@BookIntroduction NVARCHAR(4000), --图书部分章节简介
@BookType TINYINT, --图书种类,1图书,2期刊,3其他
@PublishDateText NVARCHAR(50), --存原始输入值(出版社的原始日期,一般不规范)
@PublishDateTime DATETIME, --出版日期,存入数据库前就转换成日期格式(方便搜索)
@PublishName NVARCHAR(50), --出版社
@ChinaSort NVARCHAR(25), --中图分类号
@DepartmentID INT, --图书馆编号
@FatherID INT, --学校编号
@Abstract NVARCHAR(4000), -- 图书内容提要
@AuthorIntroduction NVARCHAR(MAX),--作者简介
@Catalog NVARCHAR(MAX),--图书目录
@BookPage INT, --图书页码
@BarCode NVARCHAR(25), --条形码
@WaterNum NVARCHAR(50), --种次号
@GroupCode NVARCHAR(100),--图书的批次号
@ShelfCode NVARCHAR(100), --图书的排架号
@Discount NUMERIC(5,4)--图书的折扣
AS
BEGIN
SET NOCOUNT ON
INSERT INTO MainBook
(
Cover,
OldISBN,
NewISBN,
BookName,
Author,
BookPrice,
CD,
BookIntroduction,
BookType,
PublishDateText, --存原始输入值(出版社的原始日期,一般不规范)
--PublishDateTime, --出版日期,存入数据库前就转换成日期格式(方便搜索)
PublishName,
ChinaSort,
Abstract, -- 图书内容提要
AuthorIntroduction,--作者简介
Catalog,--图书目录
BookPage --图书页码
)
VALUES
(
@Cover,--图书的封面
@OldISBN,
@NewISBN,
@BookName,
@Author,
@BookPrice,
@CD,
@BookIntroduction,
@BookType,
@PublishDateText, --存原始输入值(出版社的原始日期,一般不规范)
--@PublishDateTime, --出版日期,存入数据库前就转换成日期格式(方便搜索)
@PublishName,
@ChinaSort,
@Abstract, -- 图书内容提要
@AuthorIntroduction,--作者简介
@Catalog,--图书目录
@BookPage --图书页码
)
INSERT INTO ViceBook
(
BookID,
DepartmentID,
FatherID,
BarCode,
WaterNum, --注:如何使用这个字段,当批量导入数据时,如何增加流水号(种次号)
GroupCode,--图书的批次号
ShelfCode, --图书的排架号
Discount--图书的折扣
)
VALUES
(
SCOPE_IDENTITY(),
@DepartmentID,
@FatherID,
@BarCode,
@WaterNum,
@GroupCode,--图书的批次号
@ShelfCode, --图书的排架号
@Discount--图书的折扣
)
END
GO
SET NOCOUNT OFF
GO
-----这里是一个参数提供程序
public SqlParameter paraInstance(string parmsName, SqlDbType parmsType, int size, object value,ParameterDirection parmsDirection)
{
SqlParameter para = new SqlParameter(parmsName, parmsType, size);
para.Value = value;
para.Direction = parmsDirection;
return para;