ComboBox.tems.Add コンボボックス追加 VB.NET

      2017/07/13

コンボボックスにデータを読み込んで追加しよう。

まず今回は前回テーブル追加した部署にデータを追加しよう。
復習です。
データの追加はsql文を使いました。

Dim cmd As New SqlCommand("INSERT INTO meibo (
name,number
)
VALUES
( @name,@number
)", cn)

問題
まず今回は部署テーブルなので部署。
列名は部署コードと部署名でしたね。
パラメータはbusyocodeとbusyonameにしましょうか?








回答
Dim cmd As New SqlCommand("INSERT INTO 部署 (
部署コード ,部署名)
VALUES
( @busyocode,@busyoname
)", cn)

Dim busyocode As String = TextBox2.Text
Dim busyoname As String = TextBox1.Text
cmd.Parameters.Add(New SqlParameter("@busyocode", busyocode))
cmd.Parameters.Add(New SqlParameter("@busyoname", busyoname))

cn.Open()

cmd.ExecuteNonQuery()
cn.Close()

コード名はここでは簡単に数字にしときます。

部署コード1 部署名に営業部 
部署コード2 署名に経理部  
では入力してください。
※sqlserverを立ち上げといてください。

登録できましたね。

新規でプロジェクトを作成して
コンボボックスを配置してください。

コンボボックスの追加は何通りかありますがこれで追加します。

ComboBox1.Items.Add("2")

さて今回はデータを読み込んでなのでどうしたらいいでしょうか。

sqlのselectで読み込んでしまえばいいですね。

DataReaderを使いましょう。

DataReaderは一レコードずつしか読めません。

処理が終わるまで読み込みましょう。

コンボボックスに読み込んだ追加します。

ComboBox1.Items.Add(SqlDataReader変数名("列名"))

サンプルソース

Imports System.Data.SqlClient

Public Class Form1
Dim cn As New SqlConnection(
"Data Source=(local)\SQL;" +
"Initial Catalog=ADO;" +
"Integrated Security=True;Pooling=False")

Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Dim dr As SqlClient.SqlDataReader

Dim cmd As New SqlCommand("select * from 部署", cn)
cn.Open()
dr = cmd.ExecuteReader

While dr.Read = True
ComboBox1.Items.Add(dr("部署名"))
End While
cn.Close()

End Sub
End Class

部署名がコンボボックスに読み込まれました。

PR



 - ADO.NET

Translate »