VB.net SQLserver接続とレジストリ

SQLserver接続とレジストリ
'SQLSREVER接続
'接続文字列を生成する

Dim St As String
Dim Cn As New System.Data.SqlClient.SqlConnection
Dim SQL As System.Data.SqlClient.SqlCommand

'レジストリ
'キー(HKEY_CURRENT_USER\Software\VB and VBA Program Settings\Fkanri50\Fk5Db)を開く
Dim regkey As Microsoft.Win32.RegistryKey = Microsoft.Win32.Registry.CurrentUser.OpenSubKey("Software\VB and VBA Program Settings\Fkanri50\Fk5Db", False)

'キーが存在しないときは null が返される
If regkey Is Nothing Then
Return
End If

'サーバー名
Dim ServerName As String = DirectCast(regkey.GetValue("DATA SOURCE"), String)

'ユーザーID
Dim UserID As String = DirectCast(regkey.GetValue("UID"), String)

'パスワード
Dim Password As String = DirectCast(regkey.GetValue("PWD"), String)

'複合化したパスワード
Password = Ango_Process(Password, "ogaryo")

'データベース
Dim DatabaseName As String = DirectCast(regkey.GetValue("INITIAL CATALOG"), String)

'閉じる
regkey.Close()

'取得したPS等などを保管
St = "Server=" & ServerName & ";"
St &= "User ID=" & UserID & ";"
St &= "Password=" & Password & ";"
St &= "Initial Catalog=" & DatabaseName

'データベースを開くために使用する文字列を取得
Cn.ConnectionString = St

SQL = Cn.CreateCommand

'データベース接続を開く
Cn.Open()

' 接続に成功した旨を表示する
Label1.Text = "更新中です。"

'待機中のイベントを処理する
My.Application.DoEvents()

'コントロールを初期化する
ProgressBar.Minimum = 0
ProgressBar.Maximum = xlMax - 4
ProgressBar.Value = 0

'空間メモリに入っているデータをSQL SreverにUpdateする。
For i = 0 To (xlMax - 4)

'進歩(%)
j = CInt(Fix*1 * 100))

' ''1秒間待機する(時間のかかる処理があるものとする)
' ''System.Threading.Thread.Sleep(10)

'ProgressBarの値を変更する
ProgressBar.Value = i

'待機中のイベントを処理する
My.Application.DoEvents()

'Labelのテキストを変更する()
Label.Text = j.ToString() & "%"

'更新作業
SQL.CommandText = MemoriSQL(i)

'SQLコマンドを実行
SQL.ExecuteNonQuery()

Next

' 接続に成功した旨を表示する
Label1.Text = "更新完了しました。"

' データベース接続を閉じる

Cn.Close()

*1:i / (xlMax - 4