0
我已經編寫了此代碼以根據日期生成唯一的ID。問題是日期不是最新的。我想這樣的生成ID中的日期不是最新的
2013081901 - if user input data on 19/08/2013
2013082002 - if user input data on 20/08/2013
問題是id,我得到的ID這樣
2013081901 - user input data on 19/08/2013
2013081902 - user input data on 20/08/2013
這是我的代碼:
Dim cnnOLEDB As New OleDbConnection(strConnectionString)
sql = "SELECT MAX(sampleID) FROM Spec_1"
cmd = New OleDbCommand(sql, cnnOLEDB)
cnnOLEDB.Open()
Dim dr As OleDbDataReader
dr = cmd.ExecuteReader()
While dr.Read()
Try
If Not IsDBNull(dr(0)) Then
txtSampleID.Text = (dr(0) + 1).ToString
'txtSampleID.Text = dr(0).ToString
Else
txtSampleID.Text = Format(Date.Today, "yyMMdd") + "01"
End If
Catch ex As Exception
txtSampleID.Text = "0"
End Try
End While
使用SqlCommand.ExecuteScalar [http://msdn.microsoft.com/en-us/library/system: 您可以通過使用Mod運算符,並添加正確的日期,這樣提取的增量部分.data.sqlclient.sqlcommand.executescalar.aspx],因爲您知道在這種情況下,結果集中只有一行包含一列。 –