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)
مشکل چی میتونه باشه؟
دوستان من برای یک سلکت که میخوام به 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)
مشکل چی میتونه باشه؟