C# SQL插入查询抛出错误

C# SQL插入查询抛出错误,c#,asp.net,sql-server,C#,Asp.net,Sql Server,这就是我的桌子的样子 /****** 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] NUL

这就是我的桌子的样子

    /****** 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));
在我看来一切正常,但这会引发这样的错误

        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));
System.Data.SqlClient.SqlException:“@TransactionId”附近的语法不正确


有人能指出我做错了什么吗?

您缺少结束括号:

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

我想你忘记关支架了

值(@MemberId、@PrizeNodeId、@CampaignNodeId、@TransactionId


@TransactionId
后面的结束括号缺失

添加它并重试。它应该可以工作

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

您忘记了命令中的“关闭”)。您的insert命令在结尾处缺少一个右括号