INSERT INTO语句包含以下未知字段名称:'a'。确保已正确键入名称,然后再次尝试操作

时间:2013-05-10 11:20:17

标签: oledb

// e,g,我想在第一行中插入3列,在其余行中插入10列     //我正在创建工作表名称为MySheet的excel文件     //然后更新第1行中的值,标题的第1个单元格为空白     //然后插入数据     //任何人都可以帮助在没有标题的情况下在Excel中插入数据

string connectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + fileName +
    ";Mode=ReadWrite;Extended Properties=\"Excel 12.0 XML;HDR=NO\"";

    using (OleDbConnection conn = new OleDbConnection(connectionString))
    {
    conn.Open();

    using (OleDbCommand cmd = new OleDbCommand())
    {
        cmd.Connection = conn;
        cmd.CommandText = "CREATE TABLE [MySheet] (a string)";
        cmd.ExecuteNonQuery();

        cmd.CommandText = "UPDATE [MySheet$] SET F1 = \"\"";
        cmd.ExecuteNonQuery();

        cmd.CommandText = "INSERT INTO  [MySheet] (a) values ('ABC')" //<-----Getting error to insert
        cmd.ExecuteNonQuery();
    }
}
    conn.Close();

2 个答案:

答案 0 :(得分:0)

试试[删除(a)]

cmd.CommandText = "INSERT INTO  [MySheet] values ('ABC')"; 

答案 1 :(得分:0)

我得到了同样的错误。 Excel中有一个填充空格结束列名称。从列名末尾删除该空格可以解决问题。