2013-02-07 90 views
0

我正在使用Btngen为我的TextBox生成一个ID,并且我有0001并将它保存到SQLSERVER中的我的数据库问题是,在关闭程序并重新打开它之后,值在再次单击Btngen后生成到我的文本框仍然是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 

回答

1

你不应该做这种方式。

如果您需要每条记录都有一个唯一的生成的整数ID,每次创建记录时将增加1,然后使用数据库中的标识字段。

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

  • (IsIdentity)为 '是'
  • 标识增量为 '1'
  • 标识种子为 '1'

您应该也可以将此值作为表上的主键。

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

+0

在哪里编辑这个身份的东西?在SQL SERVER中? – Danjor

+0

你可以在SSMS中完成 –

相关问题