2013-12-01 4 views
2

Я хочу выбрать некоторые данные из данных и скопировать их в другую таблицу данных. Я нашел ответ на один вопрос - How to query a DataTable in memory to fill another data tableСкопируйте выбранные данные из DataTable в другой DataTable

DataTable table = GetDataTableResults(); 
DataTable results = table.Select("SomeIntColumn > 0").CopyToDataTable(); 

Этот код не работает и вызывает ошибку -

'System.Array' does not contain a definition for 'CopyToDataTable' and 
no extension method 'CopyToDataTable' accepting a first argument of type 
'System.Array' could be found (are you missing a using directive or 
an assembly reference?) 

Я использую Visual Studio 2008 и .NET 3.5.

ответ

3

Удостоверьтесь, что у вас есть правильные ссылки. В этом вам нужно System.Data.DataSetExtensions Assembly и System.Data Namespace. Следующая ссылка должна помочь ...

http://msdn.microsoft.com/en-us/library/bb396189(v=vs.110).aspx

Удачи!

EDIT: Скриншот Reference ...

enter image description here

+0

Не работает. Я пробовал эту ссылку перед отправкой вопроса. Я не могу найти файл System.Data.DataSetExtensions.dll в моем меню ссылок. –

+0

Я вижу это в своем меню. Я думаю, что эта библиотека доступна только в .NET 3.5 и выше – gpmurthy

+0

Я все еще не вижу ее в своем меню. Кроме того, можете ли вы разместить более крупное изображение, пожалуйста? Я попытался нажать на вас, но он не станет большим. Благодарю. –

1

Вы всегда можете просто перебрать массив DataRow объектов, возвращаемых из Select() и импортировать их в новую таблицу данных, как это:

DataTable table = GetDataTableResults(); 
DataTable results; 

DataRow[] rowArray = table.Select("SomeIntColumn > 0"); 

foreach (DataRow row in rowArray) 
{ 
    results.ImportRow(row); 
} 
+0

Спасибо для того, чтобы показать мне альтернативный путь. Но я предпочитаю делать это без использования строк. –

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