当我尝试在Visual Studio项目中运行简单的SELECT查询时,出现此异常:
System.Data.SqlClient.SqlException:'关键字'Table'附近的语法不正确。'
我的代码:
public partial class Form1 : Form
{
SqlConnection cn = new SqlConnection(@"Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename=C:\Users\Claudia\source\repos\WindowsFormsApp7\WindowsFormsApp7\Database1.mdf;Integrated Security=True");
SqlCommand cmd = new SqlCommand();
SqlDataReader dr;
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
cmd.Connection = cn;
loadlist();
}
private void loadlist()
{
listBox1.Items.Clear();
listBox2.Items.Clear();
cn.Open();
// here I get the exception
cmd.CommandText = "SELECT * FROM Table";
dr = cmd.ExecuteReader();
if(dr.HasRows)
{
while (dr.Read())
{
listBox1.Items.Add(dr[0].ToString());
listBox2.Items.Add(dr[1].ToString());
}
}
else
{
listBox1.Items.Add("No items");
}
cn.Close();
}
}
我尝试了所有已知的方法,也没有尝试重新创建项目,但是每次都会得到此异常。当我运行项目时,数据库正在断开连接。我该怎么解决?
答案 0 :(得分:4)
Table
是SQL Server的关键字。您需要通过将其包装在方括号中来对其进行转义:
cmd.CommandText = "SELECT * FROM [Table]";
顺便说一句:Table
当然不是一个很好的表名。