从DataAdapter填充数据集时出错

3
我正在尝试完成标题所述的操作,但在运行时出现以下错误:

关键词“Top”附近的语法不正确。

string connString = @"server  =.\sqlexpress; Database=BestScores.mdf; trusted_connection=TRUE; AttachDbFileName= D:\Programing\Projects Visual Studio 2008\JigSaw\JigSaw\bin\Debug\BestScores.mdf";
SqlConnection conn = new SqlConnection(connString);
conn.Open();
DataSet ds = new DataSet();
SqlDataAdapter da = new SqlDataAdapter(@"SELECT * FROM Top", conn);
da.Fill(ds);//Error

更改您的表名。Top是一个关键字。 - Sajeetharan
2个回答

2

Top 是 Transact-SQL 上的一个 保留关键字。当你想在 SQL 命令中使用它时,必须像这样用方括号:[TOP]

SqlDataAdapter da = new SqlDataAdapter(@"SELECT * FROM [Top]", conn);

这就是为什么你会收到“关键字'Top'附近有语法错误”的提示。

1

将保留字用作字段是非常不好的做法,但这取决于您。我会将其更改为更易读的内容。因此,在“保留字”中添加[]只会延迟另一个问题...祝你好运。 - user2275929
使用“select *”时要小心。它在表中只有几行时可以工作,但是对于数百万行来说是很危险的。 - user2275929

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接