我有一个excel电子表格,从中读取数据,并试图复制第二行并在表的末尾插入一个副本。为此,我尝试执行oledbdataadapter.insertcommand。以下是我对此的看法:
da = new OleDbDataAdapter("SELECT * FROM [" + tableName + "]", connection);
da.InsertCommand = new OleDbCommand();
da.InsertCommand.CommandText = "INSERT INTO [" + tableName + "] ([F1], [F2], [F3], [F4], [F5], [F6], [F7], [F8], [F9], [F10], [F11]) SELECT [F1], [F2], [F3], [F4], [F5], [F6], [F7], [F8], [F9], [F10], [11] FROM (SELECT (ROW_NUMBER() OVER(ORDER BY [F1]) AS RowNumber), * FROM [" + tableName + "]) AS CTE WHERE CTE.RowNumber = 2";
da.InsertCommand.Connection = connection;
da.InsertCommand.ExecuteNonQuery();
当它到达最后一行时,我得到一个错误 Syntax error (missing operator) in query expression 'ROW_NUMBER() OVER(ORDER BY [F1])'.
如何重写查询以避免发生此错误?
暂无答案!
目前还没有任何答案,快来回答吧!