pikoolas
یک شنبه 08 فروردین 1389, 13:56 عصر
سلام.
من یک stored procedure به صورت زیر نوشتم
ALTER PROCEDURE [dbo].[sp_Addnews]
-- Add the parameters for the stored procedure here
@language char(3) ,
@text nvarchar(max),
@titel nvarchar(50),
@image nvarchar(50),
@writer nvarchar(50),
@newsCategory nvarchar(10),
@date datetime
AS
DECLARE @maxid int
EXEC @maxid = sp_max
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;
insert into tbl_newsid(newsDate) values(@date)
insert into tbl_news(newaid,language,text,titlet,image,writer, newscategory)
values(@maxid,@language,@text,@titel,@image,@write r,@newsCategory)
END
که پروسیجر sp_max هم در اون فراخوانی کردم .
ALTER PROCEDURE [dbo].[sp_max]
-- Add the parameters for the stored procedure here
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;
-- Insert statements for procedure here
SELECT max(newsid) from tbl_newid
END
ولی توی برنامه با این خطا مواجه می شم .
System.Data.SqlClient.SqlException: Procedure or Function 'sp_addnews' expects parameter '@newsId', which was not supplied. at System.Data.SqlClient.SqlConnection.OnError(SqlExc eption exception, Boolean breakConnection) at System.Data.SqlClient.SqlInternalConnection.OnErro r(SqlException exception, Boolean breakConnection) at System.Data.SqlClient.TdsParser.ThrowExceptionAndW arning(TdsParserStateObject stateObj) at System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj) at System.Data.SqlClient.SqlCommand.FinishExecuteRead er(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString) at System.Data.SqlClient.SqlCommand.RunExecuteReaderT ds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async) at System.Data.SqlClient.SqlCommand.RunExecuteReader( CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, DbAsyncResult result) at System.Data.SqlClient.SqlCommand.InternalExecuteNo nQuery(DbAsyncResult result, String methodName, Boolean sendToPipe) at System.Data.SqlClient.SqlCommand.ExecuteNonQuery() at Save.trycatch()
علت این خطا به نظر شما چی می تونه باشه
من یک stored procedure به صورت زیر نوشتم
ALTER PROCEDURE [dbo].[sp_Addnews]
-- Add the parameters for the stored procedure here
@language char(3) ,
@text nvarchar(max),
@titel nvarchar(50),
@image nvarchar(50),
@writer nvarchar(50),
@newsCategory nvarchar(10),
@date datetime
AS
DECLARE @maxid int
EXEC @maxid = sp_max
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;
insert into tbl_newsid(newsDate) values(@date)
insert into tbl_news(newaid,language,text,titlet,image,writer, newscategory)
values(@maxid,@language,@text,@titel,@image,@write r,@newsCategory)
END
که پروسیجر sp_max هم در اون فراخوانی کردم .
ALTER PROCEDURE [dbo].[sp_max]
-- Add the parameters for the stored procedure here
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;
-- Insert statements for procedure here
SELECT max(newsid) from tbl_newid
END
ولی توی برنامه با این خطا مواجه می شم .
System.Data.SqlClient.SqlException: Procedure or Function 'sp_addnews' expects parameter '@newsId', which was not supplied. at System.Data.SqlClient.SqlConnection.OnError(SqlExc eption exception, Boolean breakConnection) at System.Data.SqlClient.SqlInternalConnection.OnErro r(SqlException exception, Boolean breakConnection) at System.Data.SqlClient.TdsParser.ThrowExceptionAndW arning(TdsParserStateObject stateObj) at System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj) at System.Data.SqlClient.SqlCommand.FinishExecuteRead er(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString) at System.Data.SqlClient.SqlCommand.RunExecuteReaderT ds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async) at System.Data.SqlClient.SqlCommand.RunExecuteReader( CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, DbAsyncResult result) at System.Data.SqlClient.SqlCommand.InternalExecuteNo nQuery(DbAsyncResult result, String methodName, Boolean sendToPipe) at System.Data.SqlClient.SqlCommand.ExecuteNonQuery() at Save.trycatch()
علت این خطا به نظر شما چی می تونه باشه