FoxPro SQL - Хотите вернуть строки на основе определенных номеров строк - OLEDB C# ASP.NET

Я прочитал несколько других тем, которые указывают на эту статью

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

Однако пример не очень хорошо подходит для того, что я хочу. Я посмотрел на несколько других операторов SQL, и я не уверен, что я правильно их использую. Я подключаюсь к файлу DBF через C# с помощью OleDbConnection и заполняю 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 не вариант, и я хотел бы сэкономить на памяти, поэтому просто добавить все в гигантскую таблицу Возможный вариант. (Более 600000 записей)

1 ответ

Решение

Попробуйте использовать RECNO() в предложении WHERE: WHERE RECNO() > var

Другой вариант - использовать подзапросы, так как rownum еще не существует.

Другие вопросы по тегам