【问题标题】:Have Problem with Insert syntax sentence How to fix it?插入语法句子有问题如何解决?
【发布时间】:2019-06-19 03:14:41
【问题描述】:

大家好,我正在做一个网站,我的插入语法句子有问题,谁能帮我找出句子中的问题?

using (OleDbConnection sqlCon = new OleDbConnection(connectionStr))
            {
                sqlCon.Open();
                string query = "INSERT INTO SoccerAchievements (PlayerCode,TeamCode,Achievement,When) VALUES (@PlayerCode,@TeamCode,@Achievement,@When)";
                OleDbCommand sqlCmd = new OleDbCommand(query, sqlCon);
                sqlCmd.Parameters.AddWithValue("@PlayerCode", (AdminBook.FooterRow.FindControl("txtPlayerCodeFooter") as TextBox).Text.Trim());
                sqlCmd.Parameters.AddWithValue("@TeamCode", (AdminBook.FooterRow.FindControl("txtTeamCodeFooter") as TextBox).Text.Trim());
                sqlCmd.Parameters.AddWithValue("@Achievement", (AdminBook.FooterRow.FindControl("txtAchievementFooter") as TextBox).Text.Trim());
                sqlCmd.Parameters.AddWithValue("@When", (AdminBook.FooterRow.FindControl("txtWhenFooter") as TextBox).Text.Trim());
                sqlCmd.ExecuteNonQuery();
                PopulateGridView();
                lblSuccessMessage.Text = "נתון חדש נוסף בהצלחה";
                lblErrorMessage.Text = "";
            }
        }
    }

我希望它插入到我的数据库中,它给我的错误是我的插入语句有语法问题

【问题讨论】:

  • 您使用的是 Access 数据库还是其他 OLE DB 提供程序? AFAIK When 可能是关键字;尝试用括号括起来,如[When]
  • 能否提供您收到的错误消息?
  • 我正在使用access数据库
  • 谢谢兄弟成功了,我把单词改成了WhenHappend

标签: c# asp.net database insert


【解决方案1】:

根据Access reserved words listWHEN用作保留字,因此需要用括号括起来:

string query = "INSERT INTO SoccerAchievements (PlayerCode, TeamCode, Achievement, [When]) 
                VALUES (@PlayerCode, @TeamCode, @Achievement, @When)";

您还需要使用Add() 而不是AddWithValue() 来提供参数值。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-12-07
    • 2021-08-29
    • 1970-01-01
    • 2020-02-25
    • 1970-01-01
    • 2010-09-11
    • 2022-07-20
    • 1970-01-01
    相关资源
    最近更新 更多