使用命令 "insert into" 将数据插入访问数据库时抛出异常

Exception thrown whilst inserting data into an access database using the command "insert into"

我正在为我目前正在上的大学课程做一个项目,我在尝试将数据从 Visual Studio 2017 年开发的应用程序插入数据库时​​遇到了一些问题。我已经已经连接到数据库并且能够从应用程序中打开它。

当我尝试将数据输入 table 时出现问题。我收到语法错误。通常这意味着实际命令有问题吗?好吧,我考虑了这个并创建了一个新数据库和另一个项目,并让惰性进入命令为那个工作。在这一点上,一个星期的努力让它发挥作用,我被困住了,迫切需要帮助。这是我用来尝试将数据添加到 table.

的代码
try 
{
     Form1.DataBaseConnection.Open();
} 
catch (Exception E) 
{
     MessageBox.Show("!!ATTENTION!! - Error accessing database. Please restart the application. ::::" + E.ToString());    
     Form1.DataBaseConnection.Close(); 
}

OleDbCommand DataBaseAddEntry = new OleDbCommand();
DataBaseAddEntry.Connection = Form1.DataBaseConnection;

DataBaseAddEntry.CommandText = "insert into Shoe(Size, Type, Name) values('" + int.Parse(TxtBoxSize.Text) + "','" + TxtBoxType.Text + "','" + TxtBoxName.Text + "')";

DataBaseAddEntry.ExecuteNonQuery();

Form1.DataBaseConnection.Close();
RefreshDataGridView();

顺便说一句,我没有设计或创建数据库。我必须在一个团队中工作,而数据库是由另一个成员创建的。因此,当我创建自己的数据库时,它运行良好。可能与实际数据库有关,而不是代码?

尝试从 Size 的值中删除单引号,因为这看起来应该是一个 int 类型。

DataBaseAddEntry.CommandText = "insert into Shoe([Size], [Type], [Name]) values(" + int.Parse(TxtBoxSize.Text) + ",'" + TxtBoxType.Text + "','" + TxtBoxName.Text + "')";

此外,正如评论所建议的,您应该使用 parameterized SQL 并考虑将 try 块包装在整个数据库操作中,而不仅仅是 open 的尝试。