我目前正在尝试连接到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
中其他信息:关键字'表'附近的语法不正确。
答案 0 :(得分:4)
您无法使用Table
作为您的表的名称,因为它是SQL保留字。如果这确实是您的表名,请使用[Table]
。
INSERT INTO [Table] (Barcode, Item, Quantity)...
更好的是,更改表格的名称。除非这是复制/粘贴失败。