moferferi
یک شنبه 01 بهمن 1391, 22:01 عصر
سلام
من یه جدول دارم که توی اون دسته بندی های مطالب سایتم را قرار دادم که از اون یک منو میسازم
اسم جدول CategoryMenu هستش
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER function [dbo].[Isparent](@menuid as int)
returns bit
as
begin
declare @c as int
set @c=(select COUNT(*) from CategoryMenu where Parent=@menuid)
if @c=0
return 0
return 1
end
حالا یک فانکشن به نام Isparent ایجاد کردم برای تشخیص اینکه یک ردیف ردیف پدر هست یا فرزند
و یک پروسیجر به نام [GetListOfChildMenu] که نام ایتم های فرزند را بر میگردونه.
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER procedure [dbo].[GetListOfChildMenu](@menuid as int)
as
select *,dbo.Isparent(ID) as haschild from CategoryMenu
where (Parent=@menuid )order by sort asc
و اما مشکل؟
برنامه من بدون هیچ مشکلی کار میکنه و منوها در برنامه ساخته میشه
اما در محیط دیتابیس در فانکشن زیر اسم [dbo].[Isparent] یه خط قرمز کشیده و خطای invalid object name
میده.و در پروسیجر هم زیر اسم [dbo].[GetListOfChildMenu] همین خط قرمز را کشیده
کسی میدونه دلیلش چیه؟دقیقا از همین دو تا کوئری در یه برنامه و یه دیتابیس دیگه استفاده کرده بودم ولی این مشکل را نداشت.
در اخر بازهم بگم که کوئری ها هیچ مشکلی نداره و کاری که میخوام را انجام میده.فقط مشکلم خط قرمز زیره اسم کوئریه
من یه جدول دارم که توی اون دسته بندی های مطالب سایتم را قرار دادم که از اون یک منو میسازم
اسم جدول CategoryMenu هستش
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER function [dbo].[Isparent](@menuid as int)
returns bit
as
begin
declare @c as int
set @c=(select COUNT(*) from CategoryMenu where Parent=@menuid)
if @c=0
return 0
return 1
end
حالا یک فانکشن به نام Isparent ایجاد کردم برای تشخیص اینکه یک ردیف ردیف پدر هست یا فرزند
و یک پروسیجر به نام [GetListOfChildMenu] که نام ایتم های فرزند را بر میگردونه.
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER procedure [dbo].[GetListOfChildMenu](@menuid as int)
as
select *,dbo.Isparent(ID) as haschild from CategoryMenu
where (Parent=@menuid )order by sort asc
و اما مشکل؟
برنامه من بدون هیچ مشکلی کار میکنه و منوها در برنامه ساخته میشه
اما در محیط دیتابیس در فانکشن زیر اسم [dbo].[Isparent] یه خط قرمز کشیده و خطای invalid object name
میده.و در پروسیجر هم زیر اسم [dbo].[GetListOfChildMenu] همین خط قرمز را کشیده
کسی میدونه دلیلش چیه؟دقیقا از همین دو تا کوئری در یه برنامه و یه دیتابیس دیگه استفاده کرده بودم ولی این مشکل را نداشت.
در اخر بازهم بگم که کوئری ها هیچ مشکلی نداره و کاری که میخوام را انجام میده.فقط مشکلم خط قرمز زیره اسم کوئریه