我是把Excel文件作为数据源进行读取 
string conStr = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" + fileName + "; Extended Properties='Excel 8.0;HDR=YES;IMEX=1';"; 
OleDbConnection connection = new OleDbConnection(conStr); 有时因为Excel文件经常有许多冗余的空列,若要select * from ... 就会有问题
所以,想知道如何读取有限的前几列的sql的写法,请高手指点!谢谢

解决方案 »

  1.   

    在表里面加个字段,然后判断这个字段到20列就可以了...如加列Num从1开始加
    select XXXX from Table where Num<=20 ;
      

  2.   

    通过OleDbConnection 把结构取出来。
    结构中包含列信息,取前20列,生成 a,b,c...
    生成sql语句 select a,b,c... from table ...
      

  3.   

    还可以通过oledbdatareader先取得列,然后生成sql文
    cmd.ComandText = "select * from table where 0 = 1";
    reader = cmd.ExecuteReader ();
    通过reader取得前20列列名。
      

  4.   

    也可以对前20列的数据块命名,然后再select * from 命名
      

  5.   

    select top 20 <field or *> from <table>
      

  6.   

    TOP是取行的吧 楼上的
      

  7.   

    建议读Excel数据到DataSet或者DataTable中,然后对DataSet或者DataTable操作。祝楼主早日解决问题。:)