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命令在结尾处缺少一个右括号
)
。