2016-12-08 3 views
2

이 내 테이블SQL 삽입 쿼리 오류

/****** Object: Table [dbo].[tdn_Winners] Script Date: 08/12/2016 18:55:35 ******/ 
SET ANSI_NULLS ON 
GO 

SET QUOTED_IDENTIFIER ON 
GO 

CREATE TABLE [dbo].[tdn_Winners](
    [Id] [int] IDENTITY(1,1) NOT NULL, 
    [MemberId] [int] NULL, 
    [PrizeNodeId] [int] NULL, 
    [CampaignNodeId] [int] NULL, 
    [TransactionId] [int] NULL, 
CONSTRAINT [PK_TND_Winners] PRIMARY KEY CLUSTERED 
(
    [Id] ASC 
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] 
) ON [PRIMARY] 

GO 

처럼 보인다 그리고이

 string insertquery = "INSERT INTO [dbo].[tdn_Winners] ([MemberId] , 
    [PrizeNodeId] ,[CampaignNodeId] ,[TransactionId]) VALUES(@MemberId, 
    @PrizeNodeId, @CampaignNodeId, @TransactionId"; 


       int rowsAffected = sqlHelper.ExecuteNonQuery(insertquery, 
sqlHelper.CreateParameter(parameterName: "@MemberId", value: 1), 
sqlHelper.CreateParameter(parameterName: "@PrizeNodeId", value: 1), 
sqlHelper.CreateParameter(parameterName: 
"@CampaignNodeId",value: 1), sqlHelper.CreateParameter(parameterName: 
"@TransactionId", value: 1)); 

모든처럼이 테이블에 어떤 값을 삽입하고 나에게 좋아 보인다, 그러나 이것이를 throw 어떻게 발생 이 오류는 다음과 같습니다.

'@TransactionId'근처의 구문이 잘못되었습니다.

아무도 내가 여기서 잘못하고있는 것을 지적 할 수 있습니까?

+2

명령에서 ")"을 (를) 닫기를 잊었습니다. – Evk

+1

삽입 명령에 마지막 괄호가 없습니다. ')'. – juharr

답변

5

당신은 닫는 대괄호 누락 :

string insertquery = "INSERT INTO [dbo].[tdn_Winners] ([MemberId] , 
[PrizeNodeId] ,[CampaignNodeId] ,[TransactionId]) VALUES(@MemberId, 
@PrizeNodeId, @CampaignNodeId, @TransactionId)"; 
2

난 당신이 브래킷을 닫습니다 잊어 생각합니다.

VALUES (@MemberId, @PrizeNodeId, @CampaignNodeId, @TransactionId ) ";...

0

닫는 브라켓 @TransactionId 후 실종됐다

를 추가하고 다시 시도 그것은 작동합니다

"INSERT INTO [dbo].[tdn_Winners] (
    [MemberId] , 
    [PrizeNodeId] , 
    [CampaignNodeId] , 
    [TransactionId]) 
    VALUES(
     @MemberId, 
     @PrizeNodeId, 
     @CampaignNodeId, 
     @TransactionId)";