【问题标题】:Webmatrix paging - inclusion of array causing problems?Webmatrix 分页 - 包含导致问题的数组?
【发布时间】:2013-12-03 12:43:32
【问题描述】:
var pageSize = 6; 
var totalPages = 0; 
var count = 0;
var page = UrlData[0].IsInt() ? UrlData[0].AsInt() : 1;
var offset = (page -1) * pageSize;

string selectQueryString = "SELECT * FROM PropertyInfo ";

//some (if) statements which append various (where) clauses to the query

selectQueryString += "ORDER BY NumBedrooms DESC OFFSET @0 ROWS FETCH NEXT @1 ROWS  ONLY;";

string[] argArray = argList.ToArray();

然后我尝试通过定义@0 和@1 的值将它们拼凑在一起

queryResults = db.Query(selectQueryString, argArray, offset, pageSize);  

但这给了我错误“不存在从对象类型 System.String[] 到已知托管提供程序本机类型的映射。”

任何想法我做错了什么?

【问题讨论】:

    标签: sql razor pagination webmatrix


    【解决方案1】:

    我不相信您可以将传递数组和参数列表结合在一起——要么将所有参数切换到数组中,要么将它们全部切换为使用@0、@1 样式序数。

    另外,作为旁注,以下行:

    var page = UrlData[0].IsInt() ? UrlData[0].AsInt() : 1;
    

    可以使用AsInt()的默认参数进行简化:

    var page = UrlData[0].AsInt(1);
    

    【讨论】:

    • 明白了。我认为将它们全部传递到数组中将是最简单的。把它留给我,我会让你知道我是怎么过的。干杯
    猜你喜欢
    • 2011-09-23
    • 2013-05-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-09-24
    • 2014-08-02
    相关资源
    最近更新 更多