Предотвращение появления дубликата идентификатора СТАНЦИИ

#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. Я выполнил автоматическое увеличение в другой форме для приложения, но в этой форме автоматическое увеличение не допускается. Получатель приложения хочет, чтобы пользователь ввел его.