изменить таблицу, добавив ограничение UNIQUE
ALTER TABLE employee ADD CONSTRAINT emp_unique UNIQUE (ename,dno,mgr,sal)
, но вы можете сделать это, если таблица employee
пуста.
или если записи существуют, попробуйте добавить IGNORE
ALTER IGNORE TABLE employee ADD CONSTRAINT emp_unique UNIQUE (ename,dno,mgr,sal)
UPDATE 1
Что-то пошло не так, я думаю. Вам нужно только добавить уникальное ограничение для столбца ename
, так как eno
всегда будет уникальным из-за AUTO_INCREMENT
.
Чтобы добавить уникальное ограничение, вам нужно сделать некоторые очистки в вашей таблице.
Запросы ниже удаляют некоторые повторяющиеся записи и изменяет таблицу, добавляя уникальное ограничение для столбца ename
.
DELETE a
FROM Employee a
LEFT JOIN
(
SELECT ename, MIN(eno) minEno
FROM Employee
GROUP BY ename
) b ON a.eno = b.minEno
WHERE b.minEno IS NULL;
ALTER TABLE employee ADD CONSTRAINT emp_unique UNIQUE (ename);
Вот полная демонстрация
На всякий случай деньги не являются большим беспокойством, я имел большой успех с шаблонами в CodeSmith.
существует много демонстрационных шаблонов там для операций CRUD, и это будет читать непосредственно из Вашей базы данных.
MyGeneration имеет немного довольно хорошие шаблоны поколения SP CRUD
Что относительно того, чтобы использовать DataSet создал использование разработчика DataSet. Я помню назад в Былые времена (.NET 1.0 и 1.1), мы перетащили бы DataAdapter на поверхность для дизайна, определить Запрос Select, и Вставка, Запросы на обновление и Запросы на удаление были бы созданы для нас, на основе Запроса Select.
Я использовал SubSonic на прошлых проектах, это легко и просто в использовании.
Они предлагают простое учебное видео , и должно потребоваться не больше, чем 10 минут для получения его, полностью устанавливают. Я рекомендую наблюдать вторую половину видео, которое имеет дело с веб-приложением Проекты, потому что это показывает Вам, как создать специализированную кнопку Visual Studio, которая создает DAL для Вас каждый раз, когда Вы нажимаете на него вместо того, чтобы использовать сделанного на заказ поставщика, как они предполагают в первой половине видео.
Это предлагает несколько способов получить доступ к Вашим данным, Активной Записи, генерируя введенные хранимые процедуры и представления, или язык запросов , что можно использовать.
После использования его, я нашел несколько причуд:
NullReferenceException
. Обходное решение должно создать фиктивный параметр, который не используется в процедуре DeepSave()
, функция не работает в текущих 2,1 версиях, необходимо будет индивидуально сохранить данные из объединяемых таблиц Where(Tag.Columns.TagName).IsEqualTo("subjective")
, удостоверьтесь, что Вы используете строковое значение Tag.Columns.TagName
для ссылки на столбец - иначе, исключение будет выдано, при попытке использовать Column.Schema
LINQ К SQL легок, и он встроен в.NET 3,5 SP1.
Мастера Visual Studio создадут простое Приложение типа CRUD для Вас.
Перетаскивают datagrid на Вашей форме, нажимают свойство соединения и следуют за мастерами оттуда.
Не лучшие практики, но просто и работы...
Visual Studio идет с генератором кода, который едва ли кто-то знает о названном T4.
необходимо быть в состоянии использовать его относительно легко для создания шаблонов CRUD.
РЕДАКТИРОВАНИЕ
И вот пример как: http://www.olegsych.com/2008/01/how-to-use-t4-to-generate-crud-stored-procedures/
Вы попробовали Динамическое веб-приложение Данных (использует LINQ для SQL), или Динамическое веб-приложение Объектов Данных (использует Платформу Объекта).
MSDN: Пошаговая демонстрация: Создание Нового ASP.NET Динамический веб-сайт Данных Используя Леса
Смотрите на Codesmith. 2,6 версии являются бесплатными, и более поздние версии для покупки.
Проверьте LLBLGen Pro, клянусь. Это не бесплатно, но не дорого. Вы можете приступить к работе (написать код) в течение часа, а прилагаемые к нему шаблоны генерируют код, который может делать практически все, что вы захотите. Это так приятно (и продуктивно), что даже не нужно больше думать о коде интерфейса базы данных.