2013-03-05 3 views
1

Я хочу иметь возможность запросить подмножество, которое содержит правильную запись, а затем 6 до и после для 13 рядов и отобразить их в DGV. Запрос тянуть правильный ряд выглядит следующим образом:Запись запроса + 6 строк до и после?

private void textBox6_Leave(object sender, EventArgs e) 
    { 
     DataClasses3DataContext db = new DataClasses3DataContext(); 

     var matchedAdd = (from c in db.GetTable<prop>() 
          where c.HOUSE_NO.Contains(textBox1.Text) && c.Direction.Contains(textBox2.Text) && c.street.Contains(textBox3.Text) && c.SUFF.Contains(textBox4.Text) 
          select c).SingleOrDefault(); 
    } 
+0

у вас есть автомобиль увеличивающиеся ID колонки? –

+0

Ах, да, я забыл об столбце ID. Нет его автоматического увеличения при сохранении уникального значения, имеющего номер PARCEL, который более или менее соответствует адресу свойства. – korrowan

+0

так они заказаны правильно? вы просто хотите найти элемент X и просто взять 6 строк до и 6 строк после этого в базе данных? – Thousand

ответ

0

если число PARCEL увеличивается затем использовать запрос для получения количества посылок.

Тогда:

var before = (from c in db.GetTable<prop>() 
         where c.PARCEL < retrievedParcelNumber orderby c.PARCEL descending 
         select c).Take(6); 

var after = (from c in db.GetTable<prop>() 
         where c.PARCEL > retrievedParcelNumber orderby c.PARCEL 
         select c).Take(6); 
+0

Я получаю эту ошибку: Error'System.Linq.IOrderedQueryable 'не содержит определения для' take 'и никакого метода расширения' take ', принимающего первый аргумент type'System.Linq.IOrderedQueryable ' – korrowan

+0

hmm Take следует начинать с прописной буквы' T '. Проверьте, не является ли это проблемой. –

+0

Это исправлено. Как бы я подталкивал результаты к DataGridView? Никогда не делайте этого, когда его 3 вопроса. – korrowan

Смежные вопросы