代码之家  ›  专栏  ›  技术社区  ›  Lara

如果SQL查询包含保留关键字,如何避免SqlException?

  •  0
  • Lara  · 技术社区  · 7 年前
    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); 线

    以下是引发的异常:

    “系统”类型的例外。数据SqlClient。系统中发生“SqlException”。数据dll,但未在用户代码中处理

    其他信息:关键字“Table”附近的语法不正确。

    1 回复  |  直到 4 年前
        1
  •  3
  •   Sefe    7 年前

    正如例外情况所说,表是SQL中的一个关键字。如果要在查询中将其用作表名,则必须将select语句更改为

    SELECT * FROM [Table]