- 締切済み
SQLServerデータをDataGridに表示時にエラーが発生
SQLServerデータをDataGridに表示時にエラーが発生 visual Studio2008を使用し、SQLServerから条件を指定しそれをDataGridに一覧表示するvbを組んでいますが、エラーが解消しなく困っております。対応方法について教えてください。 【状況】 1 Dim St As String 2 Dim Cn As New System.Data.SqlClient.SqlConnection 3 Dim SQL As System.Data.SqlClient.SqlCommand 4 Dim ServerName As String = "Server名" 5 Dim UserID As String = "id" 6 Dim Password As String = "×××" 7 Dim DatabaseName As String = "Dbname" 8 Dim Adapter As New SqlClient.SqlDataAdapter(SQL, Cn) 9 Dim table As New DataTable 10 St = "Server=" & ServerName & ";" 11 St &= "User ID=" & UserID & ";" 12 St &= "Password=" & Password & ";" 13 St &= "Initial Catalog=" & DatabaseName 14 Cn.Open() 15 Cn.ConnectionString = St 16 SQL = Cn.CreateCommand 17 SQL.CommandText = ("SELECT * FROM CUSTOMER_M WHERE CUSTOMER_NAME LIKE " & "'%' & TextBoxName.Text & '%'") 18 Adapter.Fill(table) 19 DataGrid1.DataSource = table 20 Cn.Close() 21 SQL.Dispose() 22 Cn.Dispose() 8行目の「Adapter」がエラーになり、オーバーロードの解決に失敗しましたとメッセージが出ています。8行目の(SQl、Cn)を省くとコンパイルエラーはなくなりますが、14行目でエラーになります。 宜しくお願いします。
- みんなの回答 (4)
- 専門家の回答
みんなの回答
- rk_les
- ベストアンサー率63% (23/36)
うわー・・・お恥ずかしい・・・ 何も気にせず8行目を見て処理順序がおかしいとしか考えませんでしたorz 自分が書いたことは気にせずdevilconan様、1050YEN様のを参考にしてください。
- devilconan
- ベストアンサー率65% (21/32)
既に回答がありましたが、せっかくなので私の回答ものせておきます。 私のサーバとDBではこれでデータが取得できました。 Dim St As String Dim Cn As New System.Data.SqlClient.SqlConnection Dim SQL As New System.Data.SqlClient.SqlCommand Dim ServerName As String = "Server名" Dim UserID As String = "id" Dim Password As String = "×××" Dim DatabaseName As String = "Dbname" Dim Adapter As New SqlClient.SqlDataAdapter Adapter.SelectCommand = SQL SQL.Connection = Cn Dim table As New DataTable St = "Server=" & ServerName & ";" St &= "User ID=" & UserID & ";" St &= "Password=" & Password & ";" St &= "Initial Catalog=" & DatabaseName Cn.ConnectionString = St Cn.Open() ' SQL = Cn.CreateCommand SQL.CommandText = ("SELECT * FROM CUSTOMER_M WHERE CUSTOMER_NAME LIKE " & "'%' & TextBoxName.Text & '%'") Adapter.Fill(table) DataGrid1.DataSource = table Cn.Close() SQL.Dispose() Cn.Dispose() ご参考までに。
- rk_les
- ベストアンサー率63% (23/36)
こんにちは。 色々と冗長ですが・・・ 8 Dim Adapter As New SqlClient.SqlDataAdapter(SQL, Cn) この文の前にSQLとCnの中に詰め込んでください。 その後Adapter定義をしてください。 それが嫌であればAdapterには後でSQL,Cnを設定するようにしてください。
- 1050 円(@1050YEN)
- ベストアンサー率69% (477/687)
手続きの順番や、引数の型がおかしいために、エラーが発生しています。 ↓これで通るかも? Dim St As String Dim Cn As New System.Data.SqlClient.SqlConnection Dim SQL As System.Data.SqlClient.SqlCommand Dim ServerName As String = "Server名" Dim UserID As String = "id" Dim Password As String = "×××" Dim DatabaseName As String = "Dbname" Dim Adapter As SqlClient.SqlDataAdapter Dim table As New DataTable St = "Server=" & ServerName & ";" St &= "User ID=" & UserID & ";" St &= "Password=" & Password & ";" St &= "Initial Catalog=" & DatabaseName Cn.ConnectionString = St Cn.Open() SQL = Cn.CreateCommand SQL.CommandText = ("SELECT * FROM CUSTOMER_M WHERE CUSTOMER_NAME LIKE " & "'%' & TextBoxName.Text & '%'") SQL.Connection = Cn Adapter = New SqlClient.SqlDataAdapter(SQL) Adapter.Fill(table) DataGrid1.DataSource = table Cn.Close() SQL.Dispose() Cn.Dispose()