string strConnection="Data Source=sjk;user=system;Password=manager"; 
 
OracleConnection myConn=new OracleConnection(strConnection);myConn.Open ();string mySel="SELECT top 200 * from yonghu";OracleDataAdapter Adp1=new OracleDataAdapter(mySel,myConn);
          
DataSet sjSet = new DataSet();Adp1.Fill(sjSet);DataGrid1.DataSource=sjSet;DataGrid1.DataBind();myConn.Close();以上语句在access中就能正常运行,但连接oracle就不显示请各位强人指教!!!

解决方案 »

  1.   

    Oracle 不支持 TOP 关键字:不过这个好像并不十分严重,因为它提供了 rownum 这个隐式游标,可以实现与 TOP 类似的功能,如:SELECT TOP 10 ... FROM WHERE ... 
    要写成SELECT ... FROM ... WHERE ... AND rownum <= 10 
    rownum 是记录序号(1,2,3...),但有一个比较麻烦的事情是:如果 SQL 语句中有 ORDER BY ... 排序的时候,rownum 居然是先“标号”后排序!这样,这个序号如果不加处理是不合乎使用需求的。
      

  2.   

    string strConnection="Data Source=sjk;user=system;Password=manager"; 
     
    OracleConnection myConn=new OracleConnection(strConnection);myConn.Open ();string mySel="SELECT * from yonghu where  rownum <= 200 ";OracleDataAdapter Adp1=new OracleDataAdapter(mySel,myConn);
              
    DataSet sjSet = new DataSet();Adp1.Fill(sjSet);DataGrid1.DataSource=sjSet;DataGrid1.DataBind();myConn.Close();
      

  3.   

    SELECT top 200 * from yonghu
    在oracle里有TOP这个用法吗??
    去查查帮助。
    问题应该就是这个!