c# - SQL插入查询抛出错误

标签 c# asp.net sql-server

我的 table 是这样的

    /****** 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));

我觉得一切正常,但是会抛出这样的错误

System.Data.SqlClient.SqlException: Incorrect syntax near '@TransactionId'.

谁能指出我在这里做错了什么?

最佳答案

您缺少右括号:

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

关于c# - SQL插入查询抛出错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41040683/

相关文章:

sql - 使用通配符连接不匹配字符串

c# - 按关键字搜索列表

c# - 有没有办法限制 .NET Core 项目在使用 .NET Core 3.1 sdk 时只生成 .dll 作为输出文件

javascript - IE window.open 在第二个 session 上打开一个具有第一个 session ID 的窗口

asp.net - 格式化 DataBinder.Eval 数据

php - Yii - 连接多个表

c# - 刷新 WPF 中 View 的 DataContext?

c# - 将所选行从 ListView 显示到文本框?

asp.net - 我应该如何将多个参数传递给 ASP.Net Web API GET?

sql - SQL Server 中 except 的替代