string connection = ConfigurationManager.ConnectionStrings["Table"].ConnectionString;
using (SqlConnection con = new SqlConnection(connection))
{
using (SqlCommand cmd = new SqlCommand("SELECT * FROM Table", con))
{
using (SqlDataAdapter da = new SqlDataAdapter())
{
da.SelectCommand = cmd;
using (DataTable dt = new DataTable())
{
da.Fill(dt);//This line throws exception
return dt;
我有这段代码,我想用它从网格中获取所选数据并插入另一个表中。在调试时,它会导致da.Fill(dt);
行的异常。
以下是抛出的异常:
类型' System.Data.SqlClient.SqlException'的异常发生在System.Data.dll中但未在用户代码中处理
其他信息:关键字'表'附近的语法不正确。
答案 0 :(得分:2)
正如例外所述,“Table”是SQL中的关键字。如果要在查询中将其用作表名,则必须将select语句更改为
SELECT * FROM [Table]
答案 1 :(得分:0)
理想情况下,您不应将Table
用作表名。这是保留关键字。有关保留关键字的完整列表,请参阅this链接。
无论如何,如果你必须在SQL查询中使用保留关键字,你应该把它们放在方括号中。
将您的SQL语句更改为:
SELECT * FROM [Table]
请注意,表名在方括号内。