在C#中执行SQL命令(Sql异常未处理)

时间:2015-06-09 15:25:30

标签: c# sql-server

我目前正在尝试连接到MS SQL Server中创建的数据库,并在单击表单上的按钮时插入一行。下面是我的代码和对出错的解释。

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Data.SqlClient;

namespace WindowsFormsApplication10
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            SqlConnection myConnection = new SqlConnection("Data Source = (LocalDB)\\MSSQLLocalDB; AttachDbFilename = 'u:\\my documents\\visual studio 2015\\Projects\\WindowsFormsApplication10\\WindowsFormsApplication10\\InventoryDB.mdf'; Integrated Security = True; Connect Timeout = 30");
            SqlCommand myCommand = new SqlCommand("INSERT INTO Table (Barcode, Item, Quantity) Values (123, 'Item 123', 5)", myConnection);
            myConnection.Open();
            myCommand.ExecuteNonQuery();
            myConnection.Close();
        }
    }
}

我相信我已连接到数据库,因为在之前的尝试中我在myConnection.Open()收到错误。现在我在myCommand.ExecuteNonQuery();收到错误消息:

  

SqlException未处理:未处理的类型异常' System.Data.SqlClient.SqlException'发生在System.Data.dll

中      

其他信息:关键字'表'附近的语法不正确。

1 个答案:

答案 0 :(得分:4)

您无法使用Table作为您的表的名称,因为它是SQL保留字。如果这确实是您的表名,请使用[Table]

INSERT INTO [Table] (Barcode, Item, Quantity)...

更好的是,更改表格的名称。除非这是复制/粘贴失败。