NyikoB Ответов: 3

Как я могу автоматически создать инкрементный номер ссылки в VB.NET


Я разработал программу бронирования в VB.net и MS Access в качестве базы данных. Мне нужно, чтобы номер ссылки на бронирование автоматически увеличивался каждый раз, когда происходит бронирование, и должен начинаться со 100. С кодом, который я пробовал, он действительно увеличивается, когда я запускаю программу.Проблема в том, что он всегда начинается со 100 в любое время, когда я запускаю программу. См. код, который я использовал

Что я уже пробовал:

Option Strict On
Option Explicit On

Public Class Form1
    Dim i As Integer = 100
    Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
        REFNOTextBox.Text = CStr(i)
    End Sub

    Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
        i = i + 1
         REFNOTextBox.Text = CStr(i)
    End Sub
End Class

3 Ответов

Рейтинг:
7

Daniele Goffi

Предположим, что вы используете таблицу в базе данных для отслеживания индекса.
Выполнить следующие действия :
- При открытии проверьте, есть ли индексная запись в базе данных
- Если запись найдена, установите переменную "i" в значение записи и добавьте 1
- Если записи нет, установите переменную "i" в 1
- При каждом нажатии кнопки увеличивайте переменную "i" и сохраняйте ее значение в записи в базе данных.

(Я предполагаю, что вы знаете, как читать и писать из базы данных access)


Рейтинг:
22

MadMyche

MS Access имеет тип данных AutoNumber, который позаботится об этом за вас. Вы можете установить начальное значение, а также его приращение.
Если в будущем вам нужно масштабироваться в более крупную БД, такую как Sql Server; существует спецификация идентификатора, которую вы можете разместить в числовом поле с той же базовой настройкой

Рекомендации:
Добавьте поле AutoNumber в качестве первичного ключа - доступа[^]
IDENTITY (Property) (Transact-SQL) - SQL Server | Microsoft Docs[^]


Рейтинг:
20

Daniele Goffi

Вы должны записать счетчик в каком-то месте, а затем прочитать его обратно, когда вы запускаете программу.
Может быть, воспользоваться базой данных?


NyikoB

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

Richard MacCutchan

Это не правильный путь. Смотрите решение MadMyche.

MadMyche

Спасибо за подачу!