У меня есть сайт, написанный на asp.net c #. он использовал базу данных SQL 2005 года, но из-за требований мы обеспечили его совместимость с базой данных SQL 2000 года. все на сайте преобразовано нормально, за исключением одной страницы, которая использует хранимую процедуру для чтения в шатре. переменная @Url_FK больше не передается на страницу через сохраненный процесс. любая помощь будет полезна. Спасибо!
Единственное отличие в дизайне таблицы в том, что 2005 использует nvarchar (max), а 2000 использует varchar (8000) для поля TOD_Text.
сохраненный код процедуры 2005:
USE [CSF]
GO
/****** Object: StoredProcedure [dbo].[sp_test] Script Date: 12/06/2010 11:56:36 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
-- =============================================
-- Author: <Author,,Name>
-- Create date: <Create Date,,>
-- Description: <Description,,>
-- =============================================
ALTER PROCEDURE [dbo].[sp_test]
(
@Url_FK int
)
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 TOP (1) TOD_Text, Url_FK, TOD_Date
FROM CSF_TOD
WHERE (Url_FK = @Url_FK) AND (TOD_Date <= GETDATE())
ORDER BY TOD_Date DESC
END
сохраненный код процедуры 2000:
-- =============================================
-- Author: <Author,,Name>
-- Create date: <Create Date,,>
-- Description: <Description,,>
-- =============================================
CREATE PROCEDURE [dbo].[sp_test]
(
@Url_FK int
)
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 TOP 1 TOD_Text, Url_FK, TOD_Date
FROM CSF_TOD
WHERE (Url_FK = @Url_FK) AND (TOD_Date <= GETDATE())
ORDER BY TOD_Date DESC
END
GO
---- код в aspx-странице, вызывающий сохраненный процесс
<asp:SqlDataSource ID="sds_TOD" runat="server" ConnectionString="<%$ ConnectionStrings:TESTConnectionString %>" SelectCommand="sp_TEST" SelectCommandType="StoredProcedure">
<SelectParameters>
<asp:Parameter DefaultValue="1" Name="Url_FK" Type="Int32" />