|  | 
 
 | 
| 
 | |||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны | 
|  | 
|  | Опции темы | Поиск в этой теме | Опции просмотра | 
| 
			 
			#1  
			
			
			
			
		 | |||
| 
 | |||
|  Как наложить ограничение на ввод повторяющейся информации У меня форме несколько edit'ов, по которым я ввожу информацию в базу....Как сделать чтобы  было нельзя ввести одинаковую инфу?????хотя бы по одному полю | 
| 
			 
			#2  
			
			
			
			
		 | |||
| 
 | |||
|   Можно сделать CONSTRAINT (ограничение) в базе | 
| 
			 
			#3  
			
			
			
			
		 | |||
| 
 | |||
|   Как это сделать??? | 
| 
			 
			#4  
			
			
			
			
		 | |||
| 
 | |||
|   Цитата: 
 Вот, например, на форме 2 edit. Если ты введёшь в оба одинаковую информацию, то это в базу не запишется. Так? Если так, то тупо проверяй текст edit'ов. Можно сделать так в процедуре добавки информации в базу. Оператор Exit означает выход из процедуры (я упомянул это т.к. о значении оператора часто забывают). Код: if edit1.text = Edit2.Text then Exit; | 
| 
			 
			#5  
			
			
			
			
		 | |||
| 
 | |||
|   Не, не так......Вот например я ввел в базу сотрудника и задал ему "личный номер", и мне надо так, чтобы когда я начал добавлять 2-го сотрудника нельзя ему было присвоить точно такой же "Личный номер" | 
| 
			 
			#6  
			
			
			
			
		 | |||
| 
 | |||
|   Цитата: 
 | 
| 
			 
			#7  
			
			
			
			
		 | |||
| 
 | |||
|   Да я ламер ваще))))Напиши код если не сложно  | 
| 
			 
			#8  
			
			
			
			
		 | ||||
| 
 | ||||
|   Уникальность записей должна контролироваться на уровне БД. Для того и придуманы всякие автоинкрементные поля или генераторы, а также первичные ключи и констрэинты... Короче, не с той стороны смотришь - изучай основы реляционных БД и СУБД. | 
| 
			 
			#9  
			
			
			
			
		 | |||
| 
 | |||
|   У меня есть ендексированное поле, информация в котором не может повторяться.....Когда вводишь повторяющуюся информацию, программа вылетает....Можно сделать так чтобы прога не вылетала,а просто выдавала сообщение об ошибке и позволяла дальше работать???? | 
| 
			 
			#10  
			
			
			
			
		 | ||||
| 
 | ||||
|   Цитата: 
 | 
| 
			 
			#11  
			
			
			
			
		 | ||||
| 
 | ||||
|   Цитата: 
 1. перед вставкой в БД чего-либо, что угрожает уникальности данных, сделайте запрос на это значение и если значение в БД найдено уведомить пользователя. 2. обрабатывать уже ошибку возникающую в результате попытки нарушить уникальности данных и тут вы опасный блок программы заключаете в блок (try ... except ... end) как уже ранее советовали. |