小子新学c#和oledb,最近小子在用OLEDB操作excel,发现一个问题,如果表不是常规的EXCEL表格(比如有合并的单元格)那么执行细致查询的时间,oledb的sql语句会通不过,总是报缺少参数什么的PS:细致的意思是,如果执行 select * from table,这样是不是细致,select * from table
                where F1=‘NAME’    类似这样的是我要说的细致查询后来小弟突然突发奇想,我操作的EXCEL其实就是第一行有合并的单元格,而下面的都是没有合并的,那么如果我至少要单纯的执行查询任务的话,是不是可以把记录集的第一行想办法删掉,那么下面的就可以查询了各位大大别急,麻烦看下我下面可能本身就是错误的语句//这句执行不通过,不懂的地方在F1这个字段处应该改为什么?我将‘F1’改为 ‘*’试过,语句通不过
//这条语句其实表达的意思是:除前面2条记录外的所有的其他记录被选择
"SELECT * FROM [" + table + "] WHERE F1 NOT IN (SELECT TOP 2 F1 FROM [" + table + "])";
//////////////////////////////////////////////////////////////////////////////
//下面代码大约一看,有疑问的地方,我单独注视了
//////////////////////////////////////////////////////////////////////////////            string strCom = " SELECT * FROM [" + table + "] ";
            string strTab="["+table +"]";
            //string strCom = "SELECT * FROM [" + table  + "] WHERE F1 NOT IN (SELECT TOP 2 F1 FROM [" + table + "])";
            //string strCom = "SELECT TOP 5 * FROM [" + table  + "]";
            DataSet ds;
            ds = new DataSet();
            OleDbCommand myComd;
                       OleDbDataAdapter myCommand = new OleDbDataAdapter(strCom, g_SouceConn);
            //myCommand.DeleteCommand = new OleDbDataAdapter("DELETE TOP (5)  FROM " + strTab, ts).DeleteCommand;            myCommand.DeleteCommand = new OleDbCommand("DELETE * FROM " + strTab, g_SouceConn);
            
            try
            {
               //下面一条语句出现异常,如果执行”DELETE TOP (5)  FROM " + strTab,提示我
                 //delete语句错误!--
               //如果执行("DELETE * FROM " + strTab (只为测试用),直接提示该ISAM不支持
                //在链表中直接删除,唉~估计我的C# oledb语句顺序和用法可能出错误了
                myCommand.DeleteCommand.ExecuteNonQuery();
                myCommand.Fill(ds);
            }小弟的分不多了,只能给80分了,谢谢各位大大帮忙看下这些乱七八糟的代码sqlexcelc#dataset