2013-04-02 3 views
3

В настоящее время я работаю с базой данных для стороннего приложения, которое не имеет проверок формы для данных в столбцах, с которыми я работаю. Я использую SqlDataReader (потому что это не нужно изменять существующие таблицы в базе данных), чтобы помещать данные в данные и удалять дубликаты, но когда я удаляю дубликаты, я по-прежнему оставляю дубликаты мусора у разных людей, вводящих данные некорректно. Например;переименовать строки в datatable

  • Яблоко
  • APPL
  • Banana
  • BANNEAN
  • BANA
  • ORANG
  • и т.д ...

Как я могу исправить их в DataTable так datatable имеет только Apple, Orange и т. д.

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

К сожалению изменения оригинала программа для проверки данных на входе не является вариантом.

+0

Это отстой, что вы не можете просто изменить проверки в оригинальной 'SRC' вам придется как-то предположить, что пользователь имел в виду, возможно, вы могли бы добавить некоторые' Extension' метод или 'интерфейс, который заставит пользователя подтвердите там запись, если слово, которое они ввели, не является правильным словом .. это хороший вопрос, возможно ли это сделать то, что вы ищете http://msdn.microsoft.com/en-us/library/ms141809.aspx – MethodMan

+0

@ DJKRAZE К сожалению, стороннее приложение для ввода данных полностью закрыто, но к ним можно напрямую обращаться. Я использую таблицы из базы данных приложений, а также таблицы из другого приложения для создания настраиваемых отчетов над функциональностью обоих исходных приложений. Проблема заключается в том, что без проверки формы на этом поле люди помещают все, что близко или что-то вроде аббревиатуры, которые они придумывают для элемента. Если я могу существенно сформировать проверку данных (-ов), тогда мне должно быть хорошо идти. – h8a

+0

звучит так, будто вам нужно иметь некоторые более жесткие «Стандарты», которые должны быть выполнены, это должно быть таким беспорядком, как один из них даже управляет инвентаризацией или прибылью/убытком с чем-то вроде этого .. похоже, что это не «операция на основе США» "' – MethodMan

ответ

0

Я думаю, что этот скрипт вам поможет.

update [TableName] 
set [ColumnName] = 'someName' 
where [ColumnName] in 
(
select [ColumnName] from [TableName] 
where [ColumnName] != 'someName' 
and [ColumnName] != 'someName' 
and [ColumnName] != 'someName' 
and [ColumnName] != 'someName' 
and [ColumnName] != 'someName' 
) 
--to be safe google "begin transaction" and how to "rollback" the changes 

После изменения имени столбца вы можете удалить столбец на основе имени, в которое вы его изменили.

delete [TableName] 
where [ColumnName] = 'TheName' 
+0

Невозможно ли изменить данные, вытащенные из базы данных? – h8a

+0

уверен, что вы можете изменить его и показать, что вы хотите отобразить из этой таблицы для пользователя. – NNassar

+0

У вас есть простое решение? Я могу удалить дубликаты, но прежде чем сделать это, я хочу переименовать дубликаты мусора. Вы знаете, как это сделать? – h8a

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