locked
求助 sql mobile中类似"top"功能的实现 RRS feed

  • 问题

  • 我在设计一个window ce 5.0 下的应用程序.现在在数据库这方面遇到了问题.希望高手能够指导我一下!
    我现在数据库(.sdf)里面有一张表.它是动态的(不断增加的);我需要每隔一段时间取他的前几位做一下统计.
    如果在sql server 里面,我可以用 select top 4 * from tablename  order by id desc 来取得最新的数字.但是在 sql mobile 下,我好像 发现 "top" 用不了.我的问题不知道如何解决了.希望你能够给我指点一下.谢谢!
    1 A1
    2 A2
    3 A3
    4 A4
    5 A5
    6 A6
    7 A7
    8 A8
    .
    .
    .
    这个表格在动态的不断的增加,我在这个阶段我想取得:
    5 A5
    6 A6
    7 A7
    8 A8



    我的程序
          /// 取数据库数据
            /// </summary>
            /// <param name="strSql">查询语句 </param>
            /// <returns>返回表 </returns>
    private DataTable GetTable()
            {
                string connString = String.Format(System.Globalization.CultureInfo.InvariantCulture,
                @"Data Source = {0}\database1.sdf", Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().GetName().CodeBase));
                SqlCeConnection conn = new SqlCeConnection(connString);
                SqlCeCommand comm = new SqlCeCommand();
                comm.Connection = conn;
                conn.Open();
             
              comm.CommandType = CommandType.Text;
                comm.CommandText = "select top 4* from table1 order by id desc"; //关键在这里

                SqlCeDataAdapter thisDataAdapter = new SqlCeDataAdapter(comm);
                DataSet dataSet = new DataSet();
    //在这里出问题,说指令不对,我后来网上一查,发现sql mobile 上 没 有"top" 这个用法

                thisDataAdapter.Fill(dataSet);         
    conn.Close();
                return dataSet.Tables[0]; //返回表格

                    }

    等待着你们的回复.

    那位这方面比较厉害的可以告诉我啊!

    后来我也试过了用一下语句还是出问题

    "set rowcount 4 select * from table1 order by id desc"

    2008年9月18日 8:42

答案

全部回复