Incorrect Syntax Near '<'

Last post 08-11-2009 5:36 AM by gustavomonsnato. 7 replies.

Sort Posts:

  • Incorrect Syntax Near '<'

    01-25-2007, 6:37 PM
    • Member
      11 point Member
    • dpr
    • Member since 01-02-2007, 3:26 AM
    • Posts 31

    Hello 

    I am very new to ASP and VBD.  I have uploaded the club site, but this is the error I get (Following message).  I have read other post that don't quiet seem to help.  Where do I go to edit this, and what do I edit to fix it?

    Thank you very much for all of your help.

    dpr

     

    Line 1: Incorrect syntax near '<'.

    Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

    Exception Details: System.Data.SqlClient.SqlException: Line 1: Incorrect syntax near '<'.

    Source Error:

    An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below.

    Stack Trace:

    [SqlException (0x80131904): Line 1: Incorrect syntax near '<'.]
       System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection) +857466
       System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection) +735078
       System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj) +188
       System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj) +1838
       System.Data.SqlClient.SqlDataReader.ConsumeMetaData() +31
       System.Data.SqlClient.SqlDataReader.get_MetaData() +62
       System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString) +297
       System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async) +886
       System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, DbAsyncResult result) +132
       System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method) +32
       System.Data.SqlClient.SqlCommand.ExecuteReader(CommandBehavior behavior, String method) +122
       System.Data.SqlClient.SqlCommand.ExecuteDbDataReader(CommandBehavior behavior) +12
       System.Data.Common.DbCommand.System.Data.IDbCommand.ExecuteReader(CommandBehavior behavior) +7
       System.Data.Common.DbDataAdapter.FillInternal(DataSet dataset, DataTable[] datatables, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior) +141
       System.Data.Common.DbDataAdapter.Fill(DataSet dataSet, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior) +137
       System.Data.Common.DbDataAdapter.Fill(DataSet dataSet, String srcTable) +83
       System.Web.UI.WebControls.SqlDataSourceView.ExecuteSelect(DataSourceSelectArguments arguments) +1770
       System.Web.UI.DataSourceView.Select(DataSourceSelectArguments arguments, DataSourceViewSelectCallback callback) +17
       System.Web.UI.WebControls.DataBoundControl.PerformSelect() +149
       System.Web.UI.WebControls.BaseDataBoundControl.DataBind() +70
       System.Web.UI.WebControls.GridView.DataBind() +4
       System.Web.UI.WebControls.BaseDataBoundControl.EnsureDataBound() +82
       System.Web.UI.WebControls.CompositeDataBoundControl.CreateChildControls() +69
       System.Web.UI.Control.EnsureChildControls() +87
       System.Web.UI.Control.PreRenderRecursiveInternal() +41
       System.Web.UI.Control.PreRenderRecursiveInternal() +161
       System.Web.UI.Control.PreRenderRecursiveInternal() +161
       System.Web.UI.Control.PreRenderRecursiveInternal() +161
       System.Web.UI.Control.PreRenderRecursiveInternal() +161
       System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +1360
    


    Version Information: Microsoft .NET Framework Version:2.0.50727.42; ASP.NET Version:2.0.50727.210
    Filed under:
  • Re: Incorrect Syntax Near '<'

    01-25-2007, 10:19 PM
    • Contributor
      3,498 point Contributor
    • MIB426
    • Member since 04-25-2003, 3:19 AM
    • Taiwan or Australia
    • Posts 849

    somthing wrong with your SQL statement,

    check your SQL statment, if you still cant problemr. then post your sql statement code

    James Wu (MIB426)
    .NET is only way to go
    MCP, MCSE, MCDBA, MCSD, MCAD
  • Re: Incorrect Syntax Near '<'

    01-25-2007, 11:02 PM
    • Member
      11 point Member
    • dpr
    • Member since 01-02-2007, 3:26 AM
    • Posts 31

    I looked at my SQL statement, but I can't tell what is wrong with it.

    Thanks for all of your,

    dpr

    SQL STATEMENT:

     

    CREATE TABLE [Albums] (

    [albumid] [int] IDENTITY (1, 1) NOT NULL ,

    [title] [varchar] (50) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL ,

    [parentid] [int] NOT NULL ,

    [private] [bit] NULL ,

    [description] [varchar] (500) COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,

    [ownerid] [uniqueidentifier] NOT NULL

    ) ON [PRIMARY]

    GO

    CREATE TABLE [Announcements] (

    [id] [int] IDENTITY (1, 1) NOT NULL ,

    [itemdate] [datetime] NOT NULL ,

    [title] [varchar] (500) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL ,

    [description] [varchar] (500) COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,

    [staticURL] [varchar] (500) COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,

    [photo] [int] NOT NULL ,

    [albumid] [int] NULL

    ) ON [PRIMARY]

    GO

    CREATE TABLE [Events] (

    [id] [int] IDENTITY (1, 1) NOT NULL ,

    [starttime] [datetime] NOT NULL ,

    [endtime] [datetime] NULL ,

    [title] [varchar] (500) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL ,

    [description] [varchar] (800) COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,

    [staticURL] [varchar] (500) COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,

    [location] [int] NULL ,

    [photo] [int] NOT NULL ,

    [album] [int] NULL

    ) ON [PRIMARY]

    GO

    CREATE TABLE [Locations] (

    [id] [int] IDENTITY (1, 1) NOT NULL ,

    [title] [varchar] (500) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL ,

    [description] [varchar] (800) COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,

    [linkURL] [varchar] (500) COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,

    [photo] [int] NOT NULL ,

    [directions] [varchar] (800) COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,

    [address] [varchar] (300) COLLATE SQL_Latin1_General_CP1_CI_AS NULL

    ) ON [PRIMARY]

    GO

    CREATE TABLE [MemberInfo] (

    [address] [varchar] (500) COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,

    [phone] [varchar] (50) COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,

    [firstname] [varchar] (50) COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,

    [lastname] [varchar] (50) COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,

    [avatar] [image] NULL ,

    [memberid] [uniqueidentifier] NOT NULL

    ) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]

    GO

    CREATE TABLE [images] (

    [id] [int] IDENTITY (1, 1) NOT NULL ,

    [title] [varchar] (50) COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,

    [largeimage] [image] NOT NULL ,

    [thumbimage] [image] NULL ,

    [origimage] [image] NULL ,

    [album] [int] NOT NULL ,

    [notes] [varchar] (500) COLLATE SQL_Latin1_General_CP1_CI_AS NULL

    ) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]

    GO

    ALTER TABLE [Albums] ADD

    CONSTRAINT [PK_Albums] PRIMARY KEY CLUSTERED

    (

    [albumid]

    ) ON [PRIMARY]

    GO

    ALTER TABLE [MemberInfo] ADD

    CONSTRAINT [PK_MemberInfo] PRIMARY KEY CLUSTERED

    (

    [memberid]

    ) ON [PRIMARY]

    GO

     

    SET QUOTED_IDENTIFIER ON

    GO

    SET ANSI_NULLS ON

    GO

     

    CREATE PROCEDURE AlbumList

    (

    @userid UNIQUEIDENTIFIER

    )

    AS

    SELECT Albums.albumid, Albums.title, Albums.private, MIN(images.id) AS DisplayImage, COUNT(images.id) AS ImageCount, Albums.description

    FROM Albums LEFT OUTER JOIN

    images ON Albums.albumid = images.album

    WHERE (Albums.private = 0) OR

    (Albums.ownerid = @userid)

    GROUP BY Albums.albumid, Albums.title, Albums.private, Albums.description

    RETURN

    GO

    CREATE PROCEDURE MemberCountByLetter

    AS

    DECLARE @letter char(1), @index int, @max int

    CREATE TABLE #results ( letter CHAR(1), num INT)

    SET @index=ASCII('A')

    SET @max=ASCII('Z')

    WHILE @index <= @max

    BEGIN

    SET @letter = CHAR(@index)

    INSERT INTO #results Select letter=@letter, num=count(*) from MemberInfo where SUBSTRING(lastname,1,1)=@letter

    SET @index = @index + 1

    END

    Select * FROM #results

    RETURN

    GO

    CREATE PROCEDURE NextAnnouncement

    (

    @id int

    )

    AS

    /* SET NOCOUNT ON */

     

    DECLARE @curr datetime

     

    SELECT @curr = itemdate

    FROM Announcements

    WHERE (id = @id)

     

    SELECT top 1 nextid= id

    FROM Announcements

    WHERE (itemdate > @curr OR

    (itemdate = @curr) AND (id > @id)) order by itemdate asc, id asc

    GO

    CREATE PROCEDURE NextPrevAnnouncement

    (

    @id int,

    @previd int output,

    @nextid int output

    )

    AS

    /* SET NOCOUNT ON */

     

    DECLARE @curr datetime

     

    SELECT @curr = itemdate

    FROM Announcements

    WHERE (id = @id)

    SELECT @previd= id

    FROM Announcements

    WHERE (itemdate < @curr OR

    (itemdate = @curr) AND (id < @id)) order by itemdate asc, id asc

     

    SELECT @nextid= id

    FROM Announcements

    WHERE (itemdate > @curr OR

    (itemdate = @curr) AND (id > @id)) order by itemdate desc, id desc

    GO

    CREATE PROCEDURE NextPrevEvent

    (

    @id int,

    @previd int output,

    @nextid int output

    )

    AS

    /* SET NOCOUNT ON */

     

    DECLARE @curr datetime

     

    SELECT @curr = starttime

    FROM Events AS Events_1

    WHERE (id = @id)

    SELECT @previd= id

    FROM Events

    WHERE (starttime < @curr OR

    (starttime = @curr) AND (id < @id)) order by starttime asc, id asc

     

    SELECT @nextid= id

    FROM Events

    WHERE (starttime > @curr OR

    (starttime = @curr) AND (id > @id)) order by starttime desc, id desc

    GO

    CREATE PROCEDURE NextPrevLocation

    (

    @id int,

    @previd int output,

    @nextid int output

    )

    AS

    /* SET NOCOUNT ON */

     

    SELECT @previd= max(id)

    FROM locations

    WHERE id < @id

     

    SELECT @nextid= min(id)

    FROM locations

    WHERE id > @id

    GO

    CREATE PROCEDURE PagedAlbumList

    (

    @ownerID UNIQUEIDENTIFIER,

    @pageNum INT = 1,

    @pageSize INT = 10

    )

     

    AS

    DECLARE @rows INT

    DECLARE @keyid INT

    DECLARE @rowCount FLOAT /* yes we need a float for the math */

     

    IF @pageNum = 1

    BEGIN

    SET @keyid=0

    END

    ELSE

    BEGIN

    /* get the values for the date and row */

    SELECT @rows = (@pageNum-1) * @pageSize

    SET ROWCOUNT @rows

    SELECT @keyid=albumid FROM albums

    WHERE(Albums.private = 0) OR (Albums.private = 1) AND (Albums.ownerid = @ownerid)

    ORDER BY albumid ASC

    END

    SELECT @rowCount=COUNT(*) FROM albums WHERE (Albums.private = 0) OR (Albums.private = 1) AND (Albums.ownerid = @ownerid)

    SET ROWCOUNT @pageSize

    SELECT Albums.albumid, Albums.title, Albums.private, MIN(images.id) AS DisplayImage, count(images.id) as ImageCount

    FROM Albums LEFT OUTER JOIN images ON Albums.albumid = images.album

    WHERE ((Albums.private = 0) OR (Albums.private = 1) AND (Albums.ownerid = @ownerid))

    AND (albums.albumid > @keyid)

    GROUP BY albumid, albums.title, albums.private

    RETURN CEILING(@rowCount/@pageSize)

     

    GO

    CREATE PROCEDURE PagedAnnouncementList

    (

    @pageNum INT = 1,

    @pageSize INT = 10

    )

     

    AS

    DECLARE @rows INT

    DECLARE @keydate DATETIME

    DECLARE @keyid INT

    DECLARE @rowCount FLOAT /* yes we need a float for the math */

     

    IF @pageNum = 1

    BEGIN

    SET @keydate= 0

    SET @keyid=0

    END

    ELSE

    BEGIN

    /* get the values for the date and row */

    SELECT @rows = (@pageNum-1) * @pageSize

    SET ROWCOUNT @rows

    SELECT @keydate=itemdate, @keyid=id FROM announcements ORDER BY itemdate ASC, id ASC

    END

    SELECT @rowCount=COUNT(*) FROM announcements

    SET ROWCOUNT @pageSize

    SELECT id, itemdate, title, description, photo FROM Announcements

    WHERE (itemdate > @keydate OR

    (itemdate = @keydate) AND (id > @keyid))

    ORDER BY itemdate ASC, id ASC

    RETURN CEILING(@rowCount/@pageSize)

     

    GO

    CREATE PROCEDURE PagedLocationsList

    (

    @pageNum INT = 1,

    @pageSize INT = 10

    )

     

    AS

    DECLARE @rows INT

    DECLARE @keyid INT

    DECLARE @rowCount FLOAT /* yes we need a float for the math */

     

    IF @pageNum = 1

    BEGIN

    SET @keyid=0

    END

    ELSE

    BEGIN

    /* get the values for the date and row */

    SELECT @rows = (@pageNum-1) * @pageSize

    SET ROWCOUNT @rows

    SELECT @keyid=id FROM locations ORDER BY id ASC

    END

    SELECT @rowCount=COUNT(*) FROM locations

    SET ROWCOUNT @pageSize

    SELECT id, title, description, linkURL, address, photo, directions

    FROM Locations

    WHERE id > @keyid

    ORDER BY id ASC

    RETURN CEILING(@rowCount/@pageSize)

    GO

    CREATE PROCEDURE PagedRecentEventList

    (

    @pageNum int = 1,

    @pageSize int = 10

    )

     

    AS

    declare @rows int

    declare @keydate datetime

    declare @keyid int

    declare @rowCount float /* yes we need a float for the math */

     

    if @pageNum = 1

    begin

    set @keydate= GETDATE()

    set @keyid=0

    end

    else

    BEGIN

    /* get the values for the date and row */

    select @rows = (@pageNum-1) * @pageSize

    SET ROWCOUNT @rows

    select @keydate=starttime, @keyid=id from Events

    WHERE starttime < GETDATE()

    ORDER BY starttime desc, id desc

    END

    select @rowCount=count(*) from Events WHERE starttime < GETDATE()

    SET ROWCOUNT @pageSize

    SELECT Events.id, Events.starttime, Events.title, Events.description, Events.photo,

    Locations.title AS locationname

    FROM Events LEFT OUTER JOIN Locations ON Events.location = Locations.id

    WHERE (Events.starttime < @keydate OR

    (Events.starttime = @keydate) AND (events.id < @keyid))

    ORDER BY Events.starttime desc, Events.id desc

    RETURN CEILING(@rowCount/@pageSize)

    GO

    CREATE PROCEDURE PagedUpcommingEventList

    (

    @pageNum int = 1,

    @pageSize int = 10

    )

     

    AS

    declare @rows int

    declare @keydate datetime

    declare @keyid int

    declare @rowCount float /* yes we need a float for the math */

     

    if @pageNum = 1

    begin

    set @keydate= GETDATE()

    set @keyid=0

    end

    else

    BEGIN

    /* get the values for the date and row */

    select @rows = (@pageNum-1) * @pageSize

    SET ROWCOUNT @rows

    select @keydate=starttime, @keyid=id from Events

    WHERE Events.starttime > GetDATE()

    ORDER BY starttime asc, id asc

    END

    select @rowCount=count(*) from Events WHERE Events.starttime > GetDATE()

    SET ROWCOUNT @pageSize

    SELECT Events.id, Events.starttime, Events.title, Events.description, Events.photo,

    Locations.title AS locationname

    FROM Events LEFT OUTER JOIN Locations ON Events.location = Locations.id

    WHERE (Events.starttime > @keydate OR

    (Events.starttime = @keydate) AND (events.id > @keyid))

    ORDER BY Events.starttime asc, Events.id asc

    RETURN CEILING(@rowCount/@pageSize)

    GO

    CREATE PROCEDURE PrevAnnouncement

    (

    @id int

    )

    AS

    /* SET NOCOUNT ON */

     

    DECLARE @curr datetime

     

    SELECT @curr = itemdate

    FROM Announcements

    WHERE (id = @id)

    SELECT top 1 previd=id

    FROM Announcements

    WHERE (itemdate < @curr OR

    (itemdate = @curr) AND (id < @id)) order by itemdate desc, id desc

    GO

     

    SET QUOTED_IDENTIFIER OFF

    GO

    SET ANSI_NULLS ON

    GO

  • Re: Incorrect Syntax Near '<'

    01-25-2007, 11:03 PM
    • Member
      11 point Member
    • dpr
    • Member since 01-02-2007, 3:26 AM
    • Posts 31

    I looked at my SQL statement, but I can't tell what is wrong with it.

    Thanks for all of your help,

    dpr

    SQL STATEMENT:

     

    CREATE TABLE [Albums] (

    [albumid] [int] IDENTITY (1, 1) NOT NULL ,

    [title] [varchar] (50) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL ,

    [parentid] [int] NOT NULL ,

    [private] [bit] NULL ,

    [description] [varchar] (500) COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,

    [ownerid] [uniqueidentifier] NOT NULL

    ) ON [PRIMARY]

    GO

    CREATE TABLE [Announcements] (

    [id] [int] IDENTITY (1, 1) NOT NULL ,

    [itemdate] [datetime] NOT NULL ,

    [title] [varchar] (500) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL ,

    [description] [varchar] (500) COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,

    [staticURL] [varchar] (500) COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,

    [photo] [int] NOT NULL ,

    [albumid] [int] NULL

    ) ON [PRIMARY]

    GO

    CREATE TABLE [Events] (

    [id] [int] IDENTITY (1, 1) NOT NULL ,

    [starttime] [datetime] NOT NULL ,

    [endtime] [datetime] NULL ,

    [title] [varchar] (500) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL ,

    [description] [varchar] (800) COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,

    [staticURL] [varchar] (500) COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,

    [location] [int] NULL ,

    [photo] [int] NOT NULL ,

    [album] [int] NULL

    ) ON [PRIMARY]

    GO

    CREATE TABLE [Locations] (

    [id] [int] IDENTITY (1, 1) NOT NULL ,

    [title] [varchar] (500) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL ,

    [description] [varchar] (800) COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,

    [linkURL] [varchar] (500) COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,

    [photo] [int] NOT NULL ,

    [directions] [varchar] (800) COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,

    [address] [varchar] (300) COLLATE SQL_Latin1_General_CP1_CI_AS NULL

    ) ON [PRIMARY]

    GO

    CREATE TABLE [MemberInfo] (

    [address] [varchar] (500) COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,

    [phone] [varchar] (50) COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,

    [firstname] [varchar] (50) COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,

    [lastname] [varchar] (50) COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,

    [avatar] [image] NULL ,

    [memberid] [uniqueidentifier] NOT NULL

    ) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]

    GO

    CREATE TABLE [images] (

    [id] [int] IDENTITY (1, 1) NOT NULL ,

    [title] [varchar] (50) COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,

    [largeimage] [image] NOT NULL ,

    [thumbimage] [image] NULL ,

    [origimage] [image] NULL ,

    [album] [int] NOT NULL ,

    [notes] [varchar] (500) COLLATE SQL_Latin1_General_CP1_CI_AS NULL

    ) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]

    GO

    ALTER TABLE [Albums] ADD

    CONSTRAINT [PK_Albums] PRIMARY KEY CLUSTERED

    (

    [albumid]

    ) ON [PRIMARY]

    GO

    ALTER TABLE [MemberInfo] ADD

    CONSTRAINT [PK_MemberInfo] PRIMARY KEY CLUSTERED

    (

    [memberid]

    ) ON [PRIMARY]

    GO

     

    SET QUOTED_IDENTIFIER ON

    GO

    SET ANSI_NULLS ON

    GO

     

    CREATE PROCEDURE AlbumList

    (

    @userid UNIQUEIDENTIFIER

    )

    AS

    SELECT Albums.albumid, Albums.title, Albums.private, MIN(images.id) AS DisplayImage, COUNT(images.id) AS ImageCount, Albums.description

    FROM Albums LEFT OUTER JOIN

    images ON Albums.albumid = images.album

    WHERE (Albums.private = 0) OR

    (Albums.ownerid = @userid)

    GROUP BY Albums.albumid, Albums.title, Albums.private, Albums.description

    RETURN

    GO

    CREATE PROCEDURE MemberCountByLetter

    AS

    DECLARE @letter char(1), @index int, @max int

    CREATE TABLE #results ( letter CHAR(1), num INT)

    SET @index=ASCII('A')

    SET @max=ASCII('Z')

    WHILE @index <= @max

    BEGIN

    SET @letter = CHAR(@index)

    INSERT INTO #results Select letter=@letter, num=count(*) from MemberInfo where SUBSTRING(lastname,1,1)=@letter

    SET @index = @index + 1

    END

    Select * FROM #results

    RETURN

    GO

    CREATE PROCEDURE NextAnnouncement

    (

    @id int

    )

    AS

    /* SET NOCOUNT ON */

     

    DECLARE @curr datetime

     

    SELECT @curr = itemdate

    FROM Announcements

    WHERE (id = @id)

     

    SELECT top 1 nextid= id

    FROM Announcements

    WHERE (itemdate > @curr OR

    (itemdate = @curr) AND (id > @id)) order by itemdate asc, id asc

    GO

    CREATE PROCEDURE NextPrevAnnouncement

    (

    @id int,

    @previd int output,

    @nextid int output

    )

    AS

    /* SET NOCOUNT ON */

     

    DECLARE @curr datetime

     

    SELECT @curr = itemdate

    FROM Announcements

    WHERE (id = @id)

    SELECT @previd= id

    FROM Announcements

    WHERE (itemdate < @curr OR

    (itemdate = @curr) AND (id < @id)) order by itemdate asc, id asc

     

    SELECT @nextid= id

    FROM Announcements

    WHERE (itemdate > @curr OR

    (itemdate = @curr) AND (id > @id)) order by itemdate desc, id desc

    GO

    CREATE PROCEDURE NextPrevEvent

    (

    @id int,

    @previd int output,

    @nextid int output

    )

    AS

    /* SET NOCOUNT ON */

     

    DECLARE @curr datetime

     

    SELECT @curr = starttime

    FROM Events AS Events_1

    WHERE (id = @id)

    SELECT @previd= id

    FROM Events

    WHERE (starttime < @curr OR

    (starttime = @curr) AND (id < @id)) order by starttime asc, id asc

     

    SELECT @nextid= id

    FROM Events

    WHERE (starttime > @curr OR

    (starttime = @curr) AND (id > @id)) order by starttime desc, id desc

    GO

    CREATE PROCEDURE NextPrevLocation

    (

    @id int,

    @previd int output,

    @nextid int output

    )

    AS

    /* SET NOCOUNT ON */

     

    SELECT @previd= max(id)

    FROM locations

    WHERE id < @id

     

    SELECT @nextid= min(id)

    FROM locations

    WHERE id > @id

    GO

    CREATE PROCEDURE PagedAlbumList

    (

    @ownerID UNIQUEIDENTIFIER,

    @pageNum INT = 1,

    @pageSize INT = 10

    )

     

    AS

    DECLARE @rows INT

    DECLARE @keyid INT

    DECLARE @rowCount FLOAT /* yes we need a float for the math */

     

    IF @pageNum = 1

    BEGIN

    SET @keyid=0

    END

    ELSE

    BEGIN

    /* get the values for the date and row */

    SELECT @rows = (@pageNum-1) * @pageSize

    SET ROWCOUNT @rows

    SELECT @keyid=albumid FROM albums

    WHERE(Albums.private = 0) OR (Albums.private = 1) AND (Albums.ownerid = @ownerid)

    ORDER BY albumid ASC

    END

    SELECT @rowCount=COUNT(*) FROM albums WHERE (Albums.private = 0) OR (Albums.private = 1) AND (Albums.ownerid = @ownerid)

    SET ROWCOUNT @pageSize

    SELECT Albums.albumid, Albums.title, Albums.private, MIN(images.id) AS DisplayImage, count(images.id) as ImageCount

    FROM Albums LEFT OUTER JOIN images ON Albums.albumid = images.album

    WHERE ((Albums.private = 0) OR (Albums.private = 1) AND (Albums.ownerid = @ownerid))

    AND (albums.albumid > @keyid)

    GROUP BY albumid, albums.title, albums.private

    RETURN CEILING(@rowCount/@pageSize)

     

    GO

    CREATE PROCEDURE PagedAnnouncementList

    (

    @pageNum INT = 1,

    @pageSize INT = 10

    )

     

    AS

    DECLARE @rows INT

    DECLARE @keydate DATETIME

    DECLARE @keyid INT

    DECLARE @rowCount FLOAT /* yes we need a float for the math */

     

    IF @pageNum = 1

    BEGIN

    SET @keydate= 0

    SET @keyid=0

    END

    ELSE

    BEGIN

    /* get the values for the date and row */

    SELECT @rows = (@pageNum-1) * @pageSize

    SET ROWCOUNT @rows

    SELECT @keydate=itemdate, @keyid=id FROM announcements ORDER BY itemdate ASC, id ASC

    END

    SELECT @rowCount=COUNT(*) FROM announcements

    SET ROWCOUNT @pageSize

    SELECT id, itemdate, title, description, photo FROM Announcements

    WHERE (itemdate > @keydate OR

    (itemdate = @keydate) AND (id > @keyid))

    ORDER BY itemdate ASC, id ASC

    RETURN CEILING(@rowCount/@pageSize)

     

    GO

    CREATE PROCEDURE PagedLocationsList

    (

    @pageNum INT = 1,

    @pageSize INT = 10

    )

     

    AS

    DECLARE @rows INT

    DECLARE @keyid INT

    DECLARE @rowCount FLOAT /* yes we need a float for the math */

     

    IF @pageNum = 1

    BEGIN

    SET @keyid=0

    END

    ELSE

    BEGIN

    /* get the values for the date and row */

    SELECT @rows = (@pageNum-1) * @pageSize

    SET ROWCOUNT @rows

    SELECT @keyid=id FROM locations ORDER BY id ASC

    END

    SELECT @rowCount=COUNT(*) FROM locations

    SET ROWCOUNT @pageSize

    SELECT id, title, description, linkURL, address, photo, directions

    FROM Locations

    WHERE id > @keyid

    ORDER BY id ASC

    RETURN CEILING(@rowCount/@pageSize)

    GO

    CREATE PROCEDURE PagedRecentEventList

    (

    @pageNum int = 1,

    @pageSize int = 10

    )

     

    AS

    declare @rows int

    declare @keydate datetime

    declare @keyid int

    declare @rowCount float /* yes we need a float for the math */

     

    if @pageNum = 1

    begin

    set @keydate= GETDATE()

    set @keyid=0

    end

    else

    BEGIN

    /* get the values for the date and row */

    select @rows = (@pageNum-1) * @pageSize

    SET ROWCOUNT @rows

    select @keydate=starttime, @keyid=id from Events

    WHERE starttime < GETDATE()

    ORDER BY starttime desc, id desc

    END

    select @rowCount=count(*) from Events WHERE starttime < GETDATE()

    SET ROWCOUNT @pageSize

    SELECT Events.id, Events.starttime, Events.title, Events.description, Events.photo,

    Locations.title AS locationname

    FROM Events LEFT OUTER JOIN Locations ON Events.location = Locations.id

    WHERE (Events.starttime < @keydate OR

    (Events.starttime = @keydate) AND (events.id < @keyid))

    ORDER BY Events.starttime desc, Events.id desc

    RETURN CEILING(@rowCount/@pageSize)

    GO

    CREATE PROCEDURE PagedUpcommingEventList

    (

    @pageNum int = 1,

    @pageSize int = 10

    )

     

    AS

    declare @rows int

    declare @keydate datetime

    declare @keyid int

    declare @rowCount float /* yes we need a float for the math */

     

    if @pageNum = 1

    begin

    set @keydate= GETDATE()

    set @keyid=0

    end

    else

    BEGIN

    /* get the values for the date and row */

    select @rows = (@pageNum-1) * @pageSize

    SET ROWCOUNT @rows

    select @keydate=starttime, @keyid=id from Events

    WHERE Events.starttime > GetDATE()

    ORDER BY starttime asc, id asc

    END

    select @rowCount=count(*) from Events WHERE Events.starttime > GetDATE()

    SET ROWCOUNT @pageSize

    SELECT Events.id, Events.starttime, Events.title, Events.description, Events.photo,

    Locations.title AS locationname

    FROM Events LEFT OUTER JOIN Locations ON Events.location = Locations.id

    WHERE (Events.starttime > @keydate OR

    (Events.starttime = @keydate) AND (events.id > @keyid))

    ORDER BY Events.starttime asc, Events.id asc

    RETURN CEILING(@rowCount/@pageSize)

    GO

    CREATE PROCEDURE PrevAnnouncement

    (

    @id int

    )

    AS

    /* SET NOCOUNT ON */

     

    DECLARE @curr datetime

     

    SELECT @curr = itemdate

    FROM Announcements

    WHERE (id = @id)

    SELECT top 1 previd=id

    FROM Announcements

    WHERE (itemdate < @curr OR

    (itemdate = @curr) AND (id < @id)) order by itemdate desc, id desc

    GO

     

    SET QUOTED_IDENTIFIER OFF

    GO

    SET ANSI_NULLS ON

    GO

  • Re: Incorrect Syntax Near '<'

    01-25-2007, 11:04 PM
    • Member
      11 point Member
    • dpr
    • Member since 01-02-2007, 3:26 AM
    • Posts 31

    I looked at my SQL statement, but I can't tell what is wrong with it.

    Thanks for all of your help,

    dpr

    SQL STATEMENT:

     

    CREATE TABLE [Albums] (

    [albumid] [int] IDENTITY (1, 1) NOT NULL ,

    [title] [varchar] (50) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL ,

    [parentid] [int] NOT NULL ,

    [private] [bit] NULL ,

    [description] [varchar] (500) COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,

    [ownerid] [uniqueidentifier] NOT NULL

    ) ON [PRIMARY]

    GO

    CREATE TABLE [Announcements] (

    [id] [int] IDENTITY (1, 1) NOT NULL ,

    [itemdate] [datetime] NOT NULL ,

    [title] [varchar] (500) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL ,

    [description] [varchar] (500) COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,

    [staticURL] [varchar] (500) COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,

    [photo] [int] NOT NULL ,

    [albumid] [int] NULL

    ) ON [PRIMARY]

    GO

    CREATE TABLE [Events] (

    [id] [int] IDENTITY (1, 1) NOT NULL ,

    [starttime] [datetime] NOT NULL ,

    [endtime] [datetime] NULL ,

    [title] [varchar] (500) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL ,

    [description] [varchar] (800) COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,

    [staticURL] [varchar] (500) COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,

    [location] [int] NULL ,

    [photo] [int] NOT NULL ,

    [album] [int] NULL

    ) ON [PRIMARY]

    GO

    CREATE TABLE [Locations] (

    [id] [int] IDENTITY (1, 1) NOT NULL ,

    [title] [varchar] (500) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL ,

    [description] [varchar] (800) COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,

    [linkURL] [varchar] (500) COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,

    [photo] [int] NOT NULL ,

    [directions] [varchar] (800) COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,

    [address] [varchar] (300) COLLATE SQL_Latin1_General_CP1_CI_AS NULL

    ) ON [PRIMARY]

    GO

    CREATE TABLE [MemberInfo] (

    [address] [varchar] (500) COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,

    [phone] [varchar] (50) COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,

    [firstname] [varchar] (50) COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,

    [lastname] [varchar] (50) COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,

    [avatar] [image] NULL ,

    [memberid] [uniqueidentifier] NOT NULL

    ) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]

    GO

    CREATE TABLE [images] (

    [id] [int] IDENTITY (1, 1) NOT NULL ,

    [title] [varchar] (50) COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,

    [largeimage] [image] NOT NULL ,

    [thumbimage] [image] NULL ,

    [origimage] [image] NULL ,

    [album] [int] NOT NULL ,

    [notes] [varchar] (500) COLLATE SQL_Latin1_General_CP1_CI_AS NULL

    ) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]

    GO

    ALTER TABLE [Albums] ADD

    CONSTRAINT [PK_Albums] PRIMARY KEY CLUSTERED

    (

    [albumid]

    ) ON [PRIMARY]

    GO

    ALTER TABLE [MemberInfo] ADD

    CONSTRAINT [PK_MemberInfo] PRIMARY KEY CLUSTERED

    (

    [memberid]

    ) ON [PRIMARY]

    GO

     

    SET QUOTED_IDENTIFIER ON

    GO

    SET ANSI_NULLS ON

    GO

     

    CREATE PROCEDURE AlbumList

    (

    @userid UNIQUEIDENTIFIER

    )

    AS

    SELECT Albums.albumid, Albums.title, Albums.private, MIN(images.id) AS DisplayImage, COUNT(images.id) AS ImageCount, Albums.description

    FROM Albums LEFT OUTER JOIN

    images ON Albums.albumid = images.album

    WHERE (Albums.private = 0) OR

    (Albums.ownerid = @userid)

    GROUP BY Albums.albumid, Albums.title, Albums.private, Albums.description

    RETURN

    GO

    CREATE PROCEDURE MemberCountByLetter

    AS

    DECLARE @letter char(1), @index int, @max int

    CREATE TABLE #results ( letter CHAR(1), num INT)

    SET @index=ASCII('A')

    SET @max=ASCII('Z')

    WHILE @index <= @max

    BEGIN

    SET @letter = CHAR(@index)

    INSERT INTO #results Select letter=@letter, num=count(*) from MemberInfo where SUBSTRING(lastname,1,1)=@letter

    SET @index = @index + 1

    END

    Select * FROM #results

    RETURN

    GO

    CREATE PROCEDURE NextAnnouncement

    (

    @id int

    )

    AS

    /* SET NOCOUNT ON */

     

    DECLARE @curr datetime

     

    SELECT @curr = itemdate

    FROM Announcements

    WHERE (id = @id)

     

    SELECT top 1 nextid= id

    FROM Announcements

    WHERE (itemdate > @curr OR

    (itemdate = @curr) AND (id > @id)) order by itemdate asc, id asc

    GO

    CREATE PROCEDURE NextPrevAnnouncement

    (

    @id int,

    @previd int output,

    @nextid int output

    )

    AS

    /* SET NOCOUNT ON */

     

    DECLARE @curr datetime

     

    SELECT @curr = itemdate

    FROM Announcements

    WHERE (id = @id)

    SELECT @previd= id

    FROM Announcements

    WHERE (itemdate < @curr OR

    (itemdate = @curr) AND (id < @id)) order by itemdate asc, id asc

     

    SELECT @nextid= id

    FROM Announcements

    WHERE (itemdate > @curr OR

    (itemdate = @curr) AND (id > @id)) order by itemdate desc, id desc

    GO

    CREATE PROCEDURE NextPrevEvent

    (

    @id int,

    @previd int output,

    @nextid int output

    )

    AS

    /* SET NOCOUNT ON */

     

    DECLARE @curr datetime

     

    SELECT @curr = starttime

    FROM Events AS Events_1

    WHERE (id = @id)

    SELECT @previd= id

    FROM Events

    WHERE (starttime < @curr OR

    (starttime = @curr) AND (id < @id)) order by starttime asc, id asc

     

    SELECT @nextid= id

    FROM Events

    WHERE (starttime > @curr OR

    (starttime = @curr) AND (id > @id)) order by starttime desc, id desc

    GO

    CREATE PROCEDURE NextPrevLocation

    (

    @id int,

    @previd int output,

    @nextid int output

    )

    AS

    /* SET NOCOUNT ON */

     

    SELECT @previd= max(id)

    FROM locations

    WHERE id < @id

     

    SELECT @nextid= min(id)

    FROM locations

    WHERE id > @id

    GO

    CREATE PROCEDURE PagedAlbumList

    (

    @ownerID UNIQUEIDENTIFIER,

    @pageNum INT = 1,

    @pageSize INT = 10

    )

     

    AS

    DECLARE @rows INT

    DECLARE @keyid INT

    DECLARE @rowCount FLOAT /* yes we need a float for the math */

     

    IF @pageNum = 1

    BEGIN

    SET @keyid=0

    END

    ELSE

    BEGIN

    /* get the values for the date and row */

    SELECT @rows = (@pageNum-1) * @pageSize

    SET ROWCOUNT @rows

    SELECT @keyid=albumid FROM albums

    WHERE(Albums.private = 0) OR (Albums.private = 1) AND (Albums.ownerid = @ownerid)

    ORDER BY albumid ASC

    END

    SELECT @rowCount=COUNT(*) FROM albums WHERE (Albums.private = 0) OR (Albums.private = 1) AND (Albums.ownerid = @ownerid)

    SET ROWCOUNT @pageSize

    SELECT Albums.albumid, Albums.title, Albums.private, MIN(images.id) AS DisplayImage, count(images.id) as ImageCount

    FROM Albums LEFT OUTER JOIN images ON Albums.albumid = images.album

    WHERE ((Albums.private = 0) OR (Albums.private = 1) AND (Albums.ownerid = @ownerid))

    AND (albums.albumid > @keyid)

    GROUP BY albumid, albums.title, albums.private

    RETURN CEILING(@rowCount/@pageSize)

     

    GO

    CREATE PROCEDURE PagedAnnouncementList

    (

    @pageNum INT = 1,

    @pageSize INT = 10

    )

     

    AS

    DECLARE @rows INT

    DECLARE @keydate DATETIME

    DECLARE @keyid INT

    DECLARE @rowCount FLOAT /* yes we need a float for the math */

     

    IF @pageNum = 1

    BEGIN

    SET @keydate= 0

    SET @keyid=0

    END

    ELSE

    BEGIN

    /* get the values for the date and row */

    SELECT @rows = (@pageNum-1) * @pageSize

    SET ROWCOUNT @rows

    SELECT @keydate=itemdate, @keyid=id FROM announcements ORDER BY itemdate ASC, id ASC

    END

    SELECT @rowCount=COUNT(*) FROM announcements

    SET ROWCOUNT @pageSize

    SELECT id, itemdate, title, description, photo FROM Announcements

    WHERE (itemdate > @keydate OR

    (itemdate = @keydate) AND (id > @keyid))

    ORDER BY itemdate ASC, id ASC

    RETURN CEILING(@rowCount/@pageSize)

     

    GO

    CREATE PROCEDURE PagedLocationsList

    (

    @pageNum INT = 1,

    @pageSize INT = 10

    )

     

    AS

    DECLARE @rows INT

    DECLARE @keyid INT

    DECLARE @rowCount FLOAT /* yes we need a float for the math */

     

    IF @pageNum = 1

    BEGIN

    SET @keyid=0

    END

    ELSE

    BEGIN

    /* get the values for the date and row */

    SELECT @rows = (@pageNum-1) * @pageSize

    SET ROWCOUNT @rows

    SELECT @keyid=id FROM locations ORDER BY id ASC

    END

    SELECT @rowCount=COUNT(*) FROM locations

    SET ROWCOUNT @pageSize

    SELECT id, title, description, linkURL, address, photo, directions

    FROM Locations

    WHERE id > @keyid

    ORDER BY id ASC

    RETURN CEILING(@rowCount/@pageSize)

    GO

    CREATE PROCEDURE PagedRecentEventList

    (

    @pageNum int = 1,

    @pageSize int = 10

    )

     

    AS

    declare @rows int

    declare @keydate datetime

    declare @keyid int

    declare @rowCount float /* yes we need a float for the math */

     

    if @pageNum = 1

    begin

    set @keydate= GETDATE()

    set @keyid=0

    end

    else

    BEGIN

    /* get the values for the date and row */

    select @rows = (@pageNum-1) * @pageSize

    SET ROWCOUNT @rows

    select @keydate=starttime, @keyid=id from Events

    WHERE starttime < GETDATE()

    ORDER BY starttime desc, id desc

    END

    select @rowCount=count(*) from Events WHERE starttime < GETDATE()

    SET ROWCOUNT @pageSize

    SELECT Events.id, Events.starttime, Events.title, Events.description, Events.photo,

    Locations.title AS locationname

    FROM Events LEFT OUTER JOIN Locations ON Events.location = Locations.id

    WHERE (Events.starttime < @keydate OR

    (Events.starttime = @keydate) AND (events.id < @keyid))

    ORDER BY Events.starttime desc, Events.id desc

    RETURN CEILING(@rowCount/@pageSize)

    GO

    CREATE PROCEDURE PagedUpcommingEventList

    (

    @pageNum int = 1,

    @pageSize int = 10

    )

     

    AS

    declare @rows int

    declare @keydate datetime

    declare @keyid int

    declare @rowCount float /* yes we need a float for the math */

     

    if @pageNum = 1

    begin

    set @keydate= GETDATE()

    set @keyid=0

    end

    else

    BEGIN

    /* get the values for the date and row */

    select @rows = (@pageNum-1) * @pageSize

    SET ROWCOUNT @rows

    select @keydate=starttime, @keyid=id from Events

    WHERE Events.starttime > GetDATE()

    ORDER BY starttime asc, id asc

    END

    select @rowCount=count(*) from Events WHERE Events.starttime > GetDATE()

    SET ROWCOUNT @pageSize

    SELECT Events.id, Events.starttime, Events.title, Events.description, Events.photo,

    Locations.title AS locationname

    FROM Events LEFT OUTER JOIN Locations ON Events.location = Locations.id

    WHERE (Events.starttime > @keydate OR

    (Events.starttime = @keydate) AND (events.id > @keyid))

    ORDER BY Events.starttime asc, Events.id asc

    RETURN CEILING(@rowCount/@pageSize)

    GO

    CREATE PROCEDURE PrevAnnouncement

    (

    @id int

    )

    AS

    /* SET NOCOUNT ON */

     

    DECLARE @curr datetime

     

    SELECT @curr = itemdate

    FROM Announcements

    WHERE (id = @id)

    SELECT top 1 previd=id

    FROM Announcements

    WHERE (itemdate < @curr OR

    (itemdate = @curr) AND (id < @id)) order by itemdate desc, id desc

    GO

     

    SET QUOTED_IDENTIFIER OFF

    GO

    SET ANSI_NULLS ON

    GO

  • Re: Incorrect Syntax Near '&lt;'

    01-29-2007, 6:54 AM
    Answer
    • Member
      127 point Member
    • George I.
    • Member since 05-13-2006, 5:26 PM
    • Posts 44

    I found your post searching for a way to solve my own problem. I got the error " Incorrect Syntax Near ',' " and also " Incorrect Syntax Near 'nvarchar' ". I've solved both, first in the database definition I renamed fields that contains invalid characters (such as commas, spaces etc), second I've solved be either changing the maximum length of field in database, either changing the maximum length of the control assigned to it.

    Yes

  • Re: Incorrect Syntax Near '&lt;'

    09-04-2007, 3:37 AM
    • Member
      2 point Member
    • Miss.Amber
    • Member since 09-04-2007, 7:29 AM
    • Posts 1

     My errors are near ',' and 'FROM'. I should be able to resolve the same way you did. But, I wanted to ask if you could break down in simpler (don't know why I can't fix this myself) terms.

     That would rock. Thanks
     

  • Re: Incorrect Syntax Near '&lt;'

    08-11-2009, 5:36 AM

     Hello, i had the same problem updating a detailview.  "System.Data.SqlClient.SqlException: Line 1: Incorrect syntax near 'nvarchar'.
    ". to solve it just delete the spaces and [] in the database fields names.

Page 1 of 1 (8 items)