0

customers各custが「A000」であるテーブルがありUserIDますデータベースから最後に入力したものを取得して、テキストボックスに表示する必要があります。ID

誰かが私にこれを行う方法を提案できますか?

私はについて説明している多くの記事を見てきました

SELECT @@IDENTITY
SELECT SCOPE_IDENTITY()
SELECT IDENT_CURRENT('TableName')

しかし、それを正しく使用する場所を知ることができません。

そして、これが私がそれをしている方法です:

 Dim strConnection As String = "Data Source=.\SqlExpress;Initial Catalog=Subscription;Integrated Security=True"
 'Establish SQL Connection
 Dim con As New SqlConnection(strConnection)
 'Open database connection to connect to SQL Server
 con.Open()
 'Data table is used to bind the resultant data
 Dim dtusers As New DataTable()
 'Create a new data adapter based on the specified query.
 Dim da As New SqlDataAdapter("SELECT MAX(UserID) FROM Customers", con)
 Dim cmd As New SqlCommandBuilder(da)
 da.Fill(dtusers)
 con.Close()
4

1 に答える 1

2

ExecuteScalarを使用します。

Dim comm as new SqlCommand
comm.CommandText = "SELECT MAX(UserID) FROM Customers"
comm.Connection = con

Dim MaxUserID as object = comm.ExecuteScalar()

ExecuteScalarメソッドを使用して、データベースから単一の値(たとえば、集計値)を取得します

補足:ExecuteScalar()テーブルにレコードがない場合やレコードを生成しない条件がある場合など、コマンドの結果が空の場合、null参照(VB.NETではNothing)が返される場合があります。TextBoxに値を割り当てる前に、必ず確認してください。

于 2013-01-31T10:20:48.417 に答える