Click here to Skip to main content
15,885,032 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
See more:
Dear All,
I have problem when am click the edit button:Incorrect syntax near ','.. please ASAP..

VB
Public Function GetStaffInfo(ByVal StaffSearch As StaffSearchData) As SqlDataReader
        Dim conn As SqlConnection = New SqlConnection(System.Configuration.ConfigurationManager.ConnectionStrings("ConnectionString").ToString)
        Dim cmd As SqlCommand = New SqlCommand("Sp_GetStaffInfo_New", conn)
        cmd.CommandType = Data.CommandType.StoredProcedure
        conn.Open()

        cmd.Parameters.Add("@StaffId", Data.SqlDbType.NVarChar, 50)
        cmd.Parameters.Add("@LastName", Data.SqlDbType.NVarChar, 50)
        cmd.Parameters.Add("@FirstName", Data.SqlDbType.NVarChar, 50)
        cmd.Parameters.Add("@MiddleName", Data.SqlDbType.NVarChar, 50)
        cmd.Parameters.Add("@IsActive", Data.SqlDbType.NVarChar, 50)
        cmd.Parameters.Add("@IsDeleted", Data.SqlDbType.NVarChar, 50)
        cmd.Parameters.Add("@Practiceid", Data.SqlDbType.NVarChar, 50)
        cmd.Parameters.Add("@Orderby", Data.SqlDbType.NVarChar, 250)

        cmd.Parameters.Item("@StaffId").Value = StaffSearch.StaffId
        cmd.Parameters.Item("@LastName").Value = StaffSearch.LastName
        cmd.Parameters.Item("@FirstName").Value = StaffSearch.FirstName
        cmd.Parameters.Item("@MiddleName").Value = StaffSearch.MiddleName
        cmd.Parameters.Item("@IsActive").Value = StaffSearch.IsActive
        cmd.Parameters.Item("@IsDeleted").Value = StaffSearch.IsDeleted
        cmd.Parameters.Item("@Practiceid").Value = StaffSearch.Practiceid
        cmd.Parameters.Item("@Orderby").Value = StaffSearch.Orderby

        Dim Rec As SqlDataReader = cmd.ExecuteReader(Data.CommandBehavior.CloseConnection)

        Return Rec
    End Function
Posted
Updated 9-Aug-15 19:44pm
v2

1 solution

1) Check your query for errors
2) Check there is no ' single quote in any of the data you pass to the database. If there are quotes. escape them - http://blog.sqlauthority.com/2008/02/17/sql-server-how-to-escape-single-quotes-fix-error-105-unclosed-quotation-mark-after-the-character-string/[^].
 
Share this answer
 
Comments
Vivek.anand34 10-Aug-15 1:50am    
USE [chakra]
GO
/****** Object: StoredProcedure [dbo].[SP_GetStaffInfo_New] Script Date: 08/10/2015 11:17:45 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER PROCEDURE [dbo].[SP_GetStaffInfo_New]
(
@Staffid nvarchar(50)='',
@LastName nvarchar(50)='',
@FirstName nvarchar(50)='',
@MiddleName nvarchar(50)='',
@IsActive nvarchar(50)='',
@IsDeleted nvarchar(50)='',
@Practiceid nvarchar(50)='',
@Orderby nvarchar(200)=''
)
AS
Declare @SQLQuery AS NVarchar(4000)
Set @SQLQuery = 'select Practice.[Name] as PracticeName ,Mas_Prefix.Title as Prefix,Staff.* from Staff
inner join Practice on Practice.Practiceid=Staff.Practiceid
inner join Mas_Prefix on Mas_Prefix.Prefixid=Staff.Prefixid where (1=1) '

If len(@Staffid) > 0 and isnumeric(@Staffid)=1
Set @SQLQuery = @SQLQuery + ' And (Staff.Staffid = '+ ltrim(str(@Staffid)) +')'

If len(@FirstName) > 0
Set @SQLQuery = @SQLQuery + ' And (Staff.FirstName like ''%'+ @FirstName +'%'')'

If len(@LastName) > 0
Set @SQLQuery = @SQLQuery + ' And (Staff.LastName like ''%'+ @LastName +'%'')'

If len(@MiddleName) > 0
Set @SQLQuery = @SQLQuery + ' And (Staff.MiddleName like ''%'+ @MiddleName +'%'')'

If len(@IsActive) > 0 and isnumeric(@IsActive)=1
Set @SQLQuery = @SQLQuery + 'And (Staff.IsActive = '+ltrim(str(@IsActive)) +') '

If len(@IsDeleted)> 0 and isnumeric(@IsDeleted)=1
Set @SQLQuery = @SQLQuery + 'And (Staff.IsDeleted = '+ltrim(str(@IsDeleted)) +') '

If len(@Practiceid) > 0 and isnumeric(@Practiceid)=1
Set @SQLQuery = @SQLQuery + ' And (Staff.Practiceid = '+ ltrim(str(@Practiceid)) +')'

If len(@Orderby) > 0
Set @SQLQuery = @SQLQuery + @Orderby

exec(@SQLQuery)
Vivek.anand34 10-Aug-15 1:51am    
please tel me this is my sp.. any prob in this query.. incorrect syntax near ','
Maciej Los 10-Aug-15 3:08am    
+5!
Vivek.anand34 10-Aug-15 4:43am    
what?
Maciej Los 10-Aug-15 5:23am    
+5 meant that i voted for that answer.

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900