#vb.net
#vb.net
Вопрос:
В настоящее время у меня есть форма, которая принимает SAMPLE_ID от пользователя, среди других полей. Проблема в том, что, хотя это обязательное поле, пользователь может ввести повторяющееся значение для будущей точки, которую он / она вводит. В другой форме я нашел способ обойти это, автоматически увеличивая и автоматически заполняя этот идентификатор, но в этой форме это запрещено.
Какой способ проверить при сохранении второй точки, что SAMPLE_ID уникален?
Метка и текстовое поле для SAMPLE_ID:
<Label x:Name="lblSampleStationID" Grid.Column="0" Grid.Row="0" Content="[Sample Station ID]"/>
<StackPanel Orientation="Vertical" Grid.Column="1" Grid.Row="0">
<StackPanel.Resources>
<DataTemplate DataType="{x:Type ValidationError}">
<TextBlock Style="{DynamicResource resErrorTemplate}"/>
</DataTemplate>
</StackPanel.Resources>
<ContentPresenter Content="{Binding ElementName=txtSampleStationID, Path=(Validation.Errors).CurrentItem}"/>
<TextBox x:Name="txtSampleStationID" Text="{Binding SAMPLE_ID}" Style="{StaticResource txtSingleline}" MaxLength="20"/>
</StackPanel>
Кнопка Сохранить:
Private Async Sub btnSave_Click(sender As Object, e As RoutedEventArgs) Handles btnSave.Click
Try
If Await _feature.AddorUpdateFeature Then
Me.Close()
End If
Catch ex As Exception
Constants.WriteToErrorLog(System.Reflection.MethodBase.GetCurrentMethod.DeclaringType.Name,
System.Reflection.MethodInfo.GetCurrentMethod.Name,
ex)
End Try
End Sub
Комментарии:
1. У вас есть разрешения на редактирование / изменение базы данных? (или где бы ни хранились эти данные)
2. Я делаю да — могу запросить его для поиска дубликата. Как мне это сделать?
3. Вы бы рассмотрели обратное? Если вы добавите ограничение к этому столбцу в БД, чтобы предотвратить дублирование, вам нужно будет обнаружить жалобу / предупреждение / ошибку из БД о нарушении ограничения, но тогда вы можете быть уверены, что дублирование предотвращено.
4. Кроме того, из вашего описания похоже, что вы хотите, чтобы Sample_ID был уникальным, как первичный ключ. Действительно ли пользователь должен нести ответственность за это, или, может быть, лучше использовать автономер (вычисляемый БД) для этого столбца?
5. Я выполнил автоматическое увеличение в другой форме для приложения, но в этой форме автоматическое увеличение не допускается. Получатель приложения хочет, чтобы пользователь ввел его.