0

我正在使用 Btngen 为我的 TextBox 生成一个 ID,我拥有0001并将其保存到 SQLSERVER 中的数据库中,问题是在我关闭程序并再次重新打开它之后,再次单击 Btngen 后生成到我的 TextBox 的值还在0001。我怎样才能避免这种情况?如何保留已经产生的价值并转移到下一个价值?我使用增量,但它仅在程序仍在运行时才有效,但如果我关闭程序并再次运行它,它会回到0001任何人告诉我该怎么做?

这是我的代码:

Dim p1num As Integer = 0
 p1num += 1
 txtPNumber.Text = p1num.ToString("D4")

Dim SQLcon As New SqlConnection
        Dim SQLdr As SqlDataReader
        Try
            SQLcon.ConnectionString = "Data Source=####;Initial Catalog=####;Persist Security Info=True;User ID=####;Password=####"
            Dim SQLcmd As New SqlCommand("INSERT INTO dbo.Patients" & _
            "(pIDNo)" & _
            "VALUES(@pIDNo",SqlCon)
            SQLcmd.Parameters.AddWithValue("@pIDNo", txtPNumber.Text)
            SQLcon.Open()
            MsgBox("Patient Added!", MsgBoxStyle.Information)
            SQLdr = SQLcmd.ExecuteReader()
        Catch ex As Exception
            MessageBox.Show("Error Occured, Can't Add Patient!" & ex.Message)
        Finally
            SQLcon.Close()
        End Try
4

1 回答 1

1

你不应该这样做。

如果您需要每条记录都有一个唯一的、生成的整数 id,每次创建记录时都会增加 1,那么请使用数据库中的 Identity 字段。

在列属性的标识规范中,设置:

  • (身份)改为“是”
  • 身份增量为“1”
  • 身份种子为“1”

您可能还应该将此值设置为表上的主键。

保存记录后,您应该查询数据库以在 UI 中显示生成的 ID 值。

于 2013-02-07T15:13:16.987 回答