代码改变世界

关于Access数据库Select语句top关键字后不能跟参数的问题

  AceYue  阅读(2487)  评论(14编辑  收藏  举报

       习惯用SQL Server数据库,习惯了存储过程和参数sql语句,然而最近做自己的网站用Access数据时发现了不少问题。最让我纠结的就是top后面不能跟@PageIndex参数,加上(@PageIndex)效果同样没有变化。错误:SELECT 子句中包含一个保留字、拼写错误或丢失的参数,或标点符号不正确。

      

复制代码
View Code
 string sql = "select top (@Page) T_ID,T_Name from TypeList where T_ParentID =@ParentID order by T_TypeOrder,T_CreateDate asc";
            OleDbParameter[] param = new OleDbParameter[2];
            param[0] = new OleDbParameter("@Page", OleDbType.Integer);
            param[0].Value = Page;
            param[1] = new OleDbParameter("@ParentID", OleDbType.Integer);
            param[1].Value = ParentID;
            return OleDbHelper.ExecuteDataTable(CommandType.Text, sql, param);
复制代码

 

 

    

 

现在只能用字符串拼接来处理,网上搜过没有结果,在这里贴出,希望知道处理办法的分享下,小弟感激不尽。

编辑推荐:
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· 展开说说关于C#中ORM框架的用法!
· SQL Server 2025 AI相关能力初探
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库
点击右上角即可分享
微信分享提示