PDA

View Full Version : سوال: سلکت با sp پارامتر



neynavaz
سه شنبه 11 آبان 1389, 12:50 عصر
سلام
دوستان من برای یک سلکت که میخوام به sp بدم
یه sp به شرح زیر نوشتم


USE [Ahkam2]
GO
/****** Object: StoredProcedure [dbo].[SP_msg_read] Script Date: 11/02/2010 11:08:09 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO

alter PROCEDURE [dbo].[SP_msg_read]
@P_user_id nvarchar(50) ,
@P_msg_id nvarchar(50),
@P_typ nvarchar(50)
AS

BEGIN

SET NOCOUNT ON ;


DECLARE @msgtyp BIGINT

if @p_typ =1 set @msgtyp='-1'
else set @msgtyp = @P_user_id



exec('select T_Message.msgid,T_Message.title,Msg_S.status,T_Mes sage.date,T_Message.time from T_Message , msg_s where ( (t_message.msgtype=@msgtyp) and (t_message.msgid= msg_s.msgid) and ( ((msg_s.status=0)and (msg_s.personalid=@P_user_id) )or( ((msg_s.status=1)and (msg_s.personalid=@P_user_id ) )))) order by msg_s.status ')


BEGIN
--set read
--0 = unread
--1 = read
--2 = deleted
--



UPDATE Ahkam2 .dbo.Msg_S
SET Status = 1

WHERE ( ( personalId = @P_user_id)and (MsgId =@P_msg_id ))




END


END

حالا مشکلم اینه موقع اجرا از sql به من این ارور رو میده

http://up.iranblog.com/Files73/0b8e4ee804ab49d0bbcb.png
چرا؟
کسی میتونه بگه دلیلش چیه؟ من پرامترهای سلکت رو درست ارسال کردم
اینم کدش



Dim parametr(2) As sample1.FunctionsExeSQL.SqlParametr


parametr(0).parname = "@P_user_id"
parametr(0).parvalue = (Myuser)
'parametr(0).type = SqlDbType.NVarChar
'parametr(0).size = 50

parametr(1).parname = "@P_msg_id"
parametr(1).parvalue = (id)
'parametr(1).type = SqlDbType.BigInt


parametr(2).parname = "@P_typ"
parametr(2).parvalue = (Wcertain)
'parametr(2).type = SqlDbType.Int


ds = myDBEngine.FillDataSet_Ssp("SP_msg_read", parametr)


مشکل چی میتونه باشه؟

neynavaz
چهارشنبه 12 آبان 1389, 08:48 صبح
کجایند کد نویسان بی ادعا....

Mani_rf
چهارشنبه 12 آبان 1389, 09:18 صبح
DECLARE @msgtyp BIGINT
دوخط پایین تر :
set @msgtyp='-1'

به نظر خودت درسته؟