投稿者 社会人  (社会人) 投稿日時 2014/6/5 08:55:17
使用ソフト
・Microsoft SQL server 2008 Management Studio
・Microsoft Visual Studio 2010 Professional内のVisual Basic2010

使用PC
・XP SP3

使用コード
http://rucio.cloudapp.net/ThreadDetail.aspx?ThreadId=15554

求めたい情報
・下に記載したコードを使ってログイン成功時のIDとユーザー名を抽出。その後、使用したい時にID、ユーザー名を自由に使える様にしたい。
・ユーザー名は、ログイン成功後に移動するフォームのタイトルLabelにユーザー名を記載させたい。
・IDは、新規でデータを登録する際にSQLserverに誰か登録させたか分かる様に登録させたい。(利用者が操作してIDを反映させる訳では無く、裏作業で登録させたい。)

いつもお世話になっています。
現在、VBとSQLを使って、データの新規登録、変更、検索、削除などのデータベースプログラムを作成している者です。
上記に書いてありますが、SQLのデータベースに「登録ID」という項目があり、ログインに成功したIDがデータを新規登録時に自動的に登録仕組みと、ログイン成功後に「FmMain」というフォームに一旦移動する仕組みになっており、その「FmMain」のLabelに「ユーザー名さんが利用中です」と表現させたいと思っています。
宜しくお願いします。

Imports System.Data.SqlClient

Public Class FmLogin
    Const ConnectString As String = "Data Source=user;Initial Catalog=データベースシステム;Integrated Security=True"

    Private Sub btnGo_Click(sender As System.Object, e As System.EventArgs) Handles btnGo.Click
        
        If CheckUser(TextBox1.Text.Trim, TextBox2.Text.Trim) Then
            Me.Hide()
            Dim Main As New fmmain
            Main.ShowDialog(Me)
            Me.Show()
            Me.Close()
        Else
            MsgBox("ID,パスワードが一致しません")
        End If
    End Sub

    Private Function CheckUser(id As String, pass As StringAs Boolean
        Dim RESULT As Integer = 0
        Dim SQL As String = "SELECT COUNT(ユーザーID) FROM ユーザー情報" _
                            & " WHERE ユーザーID='" & id & "' AND パスワード='" & pass & "'"

        Using conn As New SqlConnection(ConnectString)
            Dim CMD As New SqlCommand(SQL, conn)
            Try
                conn.Open()
                RESULT = Convert.ToInt32(CMD.ExecuteScalar())
            Catch ex As Exception
                MsgBox(ex.Message)
            End Try
        End Using

        Return RESULT <> 0
    End Function

    Private Sub btnQuit_Click(sender As System.Object, e As System.EventArgs) Handles btnQuit.Click
        Me.Close()
    End Sub
End Class