2013-02-07 89 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中完成 –

相關問題