日期:2014-05-20  浏览次数:20761 次

头疼了几天的问题,这个参数到底该怎么写?
C# code

Models.Entities _db=new Models.Entities();

StringBuilder query = new StringBuilder();
query.Append("select ID from View_Product ");
query.Append(" limit @rows offset (@page-1)*@rows");//分页查询

//分页参数
List<EntityParameter> parameters = new List<EntityParameter>();
EntityParameter TempParameter = new EntityParameter("rows", System.Data.DbType.String);
TempParameter.Value = rows;
parameters.Add(TempParameter);
TempParameter = new EntityParameter("page", System.Data.DbType.String);
TempParameter.Value = page;
parameters.Add(TempParameter);

//执行查询
return _db.ExecuteStoreQuery<Models.View_Product>(query.ToString(), parameters).ToList();



在执行到最后一句时,总是说找不到匹配的参数。(我使用的sqlite数据库)

------解决方案--------------------
你还是去找个LINQ分页吧,代码我也看不套懂,呵呵,不意思喔
------解决方案--------------------
select * from account limit10,9
或者

Select * From Account Limit 9 Offset 10;

------解决方案--------------------
C# code

           Database _db  = DBConnection.CreateDBConnection ( );
            StringBuilder sb = new StringBuilder ( );
           sb.Append ( "Select * From Account Limit @page1 Offset @page2;" );
          _db.AddInParameter ( com, "@page1 ", DbType.String, 9);
          _db.AddInParameter ( com, "@page2", DbType.String, 10);
           DbCommand com = _db.GetSqlStringCommand ( sb.ToString ( ) );            
            _db.AddInParameter ( com, "@id", DbType.Int32, id );

------解决方案--------------------
是不是要加@呀?
EntityParameter("@rows", System.Data.DbType.String);
EntityParameter("@page", System.Data.DbType.String);

------解决方案--------------------
归根结底 还是变量@rows 你没有parameters好.
难道是?
C# code

EntityParameter TempParameter = new EntityParameter("@rows", System.Data.DbType.String);

------解决方案--------------------
你是发到了Linq版 但是.net板块 也能看到 呵呵
我一直没学习Linq to entity 感觉不太感冒 也就学了点Linq查询.