SQLServerに接続する2
テンプレートを元にForm1を編集しSQLServerと接続の試験をします。
Form1の編集
テキストボックスを配置し、テストの接続結果を表示できるようにします。テキストボックスのプロパティに複数行のチェックを付けて状況をログ出力できるようにします。
Form1_Loadの編集
Form1の何もないところをダブルクリックしてあげるとLoadイベントの編集ができるようになるので下記の様に入力します。
Imports System.Data.SqlClient Imports System.Text Public Class Form1 Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load TextBox1.Multiline = True Dim sb As New StringBuilder Try Dim sql As String = "SELECT * FROM T_A" Using Conn As New SqlConnection Conn.ConnectionString = ("Data Source=192.168.0.3\SQLEXPRESS;" & "Initial Catalog=testDB;" & "User ID=user1;Password=user1") Conn.Open() Using cmd As New SqlCommand(sql) cmd.Connection = Conn cmd.CommandType = CommandType.Text Using rd As SqlDataReader = cmd.ExecuteReader() For i = 0 To rd.FieldCount - 1 sb.Append(rd.GetName(i) & " | ") Next sb.AppendLine() While (rd.Read) For i = 0 To rd.FieldCount - 1 sb.Append(rd.GetString(i) & " | ") Next sb.AppendLine() End While End Using End Using End Using Catch ex As Exception If ex.InnerException Is Nothing Then sb.AppendLine("エラー:" & ex.GetType.ToString) sb.AppendLine("エラー:" & ex.Message) Else sb.AppendLine("エラー:" & ex.GetType.ToString) sb.AppendLine("エラー:" & ex.Message) End If End Tr TextBox1.Text = sb.ToString End Sub End Class
エラーが発生
Imports文としてSqlQlientとTextを組み込みますが、コーディングするとエラーが発生しました。
NugetでSqlQlientを管理
どうやら .Net 6 ではSqlClientはNugetで管理する様ですのでソリューションエクスプローラで「Nugetパッケージの管理」をクリックします。
Nugetパッケージマネージャが表示されるので、参照のタブでsqlclientを検索します。Microsoft.Data.SqlClientとSystem.Data.Clientがありますが、System.Data.Clientは今後開発されずにMicrosoft.DataClientに移行されるそうです。ですので後者を選ぶべきかと思いますが、とりあえず前者でテストを進めます。
コンパイルは成功
参照設定がうまくいったことでエラー表示は無くなりました。
実際にコンパイルして動かしてみると、データテーブルの内容が表示されました。