Sameer Haider Ответов: 1

Как автоматическое создание удостоверение личности с характером в VB.Net?


Как автоматически сгенерировать идентификатор с помощью charactor in VB.Net-что?
например : "с-00001", "СВ-1"

если этот метод верен то как содержать символ в этом методе:
( например : "площадь-1" )

Private Sub auto()

        con = New SqlConnection(cs)
        con.Open()

        Dim ct As String = "select Max(NUM) as NUMS from AREAs"
        cmd = New SqlCommand(ct)
        cmd.Connection = con

        rdr = cmd.ExecuteReader()
        rdr.Read()

        If rdr("NUMS").ToString() <> "" Then
            txtSerID.Text = Integer.Parse(rdr("NUMS").ToString()) + 1
        Else
            txtSerID.Text = 1
        End If
        rdr.Close()
        If con.State = ConnectionState.Open Then
            con.Close()
        End If
        con.Close()
    End Sub


Если этот метод верен/ОК, то как содержать символ в этом методе:
( например : "площадь-1"

Maciej Los

Какая база данных: SQL Server?

1 Ответов

Рейтинг:
1

Maciej Los

Вы должны получить такие данные со стороны sql server.

Взгляните сюда: Колонка автоматически увеличивается с varchar, а тип данных nvarchar в SQL[^]


0x01AA

А 5. Даже я должен сказать, что "автоматически генерируемая" для меня в настоящее время должна быть _only_ последовательностью. Вещь, которую моя старая нагрузка "интербаза" поддерживала с самого начала-mas o menos - она называлась генератором :-)

Maciej Los

Спасибо, Бруно.

Maciej Los

Как я уже упоминал, вы должны получить такие данные со стороны SQL Server. На стороне клиента - в многопользовательской среде - вы не сможете контролировать уникальные данные. Но - в однопользовательской среде - вы можете использовать Linq. Смотрите пример:


Dim dt As DataTable = New DataTable()

dt.Columns.Add(New DataColumn("ID", GetType(Integer)))
dt.Columns.Add(New DataColumn("CategoryName", GetType(String)))
dt.Columns.Add(New DataColumn("ProductName", GetType(String)))

dt.Rows.Add(New Object(){10, "Car", "VW"})
dt.Rows.Add(New Object(){100, "Mobile", "Samsung"})
dt.Rows.Add(New Object(){1001, "Screen", "LG"})


Dim carid = dt.AsEnumerable() _
.Where(Function(c) c.Field(Of String)("CategoryName") = "Car") _
.Select(Function(c) c.Field(Of Integer)("ID")) _
.Max()

Console.WriteLine("New car id is: Car{0}", carid + 1)

На этой же основе вы можете получить новый идентификатор для каждой категории.