【问题标题】:FoxPro SQL - Want to return rows based on certain row numbers - OLEDB C# ASP.NETFoxPro SQL - 想要根据某些行号返回行 - OLEDB C# ASP.NET
【发布时间】:2013-06-25 16:38:15
【问题描述】:

我已经阅读了指向这篇文章的其他几个主题

http://msdn.microsoft.com/en-us/library/y7tz3hhk%28v=vs.80%29.aspx

但是,这个例子并不适合我想要的。我查看了其他一些 SQL 语句,但不确定我是否正确使用它。我通过 C# 使用 OleDbConnection 连接到 DBF 文件并填充 OleDbDataAdapter

 var sql = "select *, recNo() as rownum from '" + Uri.UnescapeDataString(connString) 
+ "' WHERE (rownum > " + lowerLimit + ") AND (rownum > " + upperLimit + ")";

我不断收到一条错误消息,指出 rownum 不存在。我尝试将rownum更改为CAPS,没有区别。

SQL: Column 'ROWNUM' is not found.

总之,我想要完成的是根据它所在的行返回所有行。修改 DBF 文件不是一个选项,我想节省内存,所以只需将所有内容添加到一个巨大的table 不是一个可行的选择。 (600,000+ 条记录)

【问题讨论】:

    标签: c# asp.net sql visual-foxpro oledbdataadapter


    【解决方案1】:

    尝试在 WHERE 子句中使用 RECNO():WHERE RECNO() > var

    另一个选择是使用子查询,因为 rownum 还不存在。

    【讨论】:

    • 嗯,奇怪...不,似乎没有工作,虽然我的错误信息已经消失。它返回的记录比数据库包含的记录少 10,000 条?记录 DBF 计数:702240 记录下限:20000 记录上限:30000
    • 忽略我的最后一条消息,我的限制边界错误(上限的帽子朝向错误的方向)谢谢!
    猜你喜欢
    • 2020-04-29
    • 2021-03-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-12-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多