日期:2014-05-18  浏览次数:20543 次

存储过程,参数未提供,但是已经提供了,还是报错
一个存储过程,如下:

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;