teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

1

MySQLを使ったデータ取得・更新を追記

2017/06/30 09:11

投稿

motuo
motuo

スコア3027

answer CHANGED
@@ -131,4 +131,62 @@
131
131
  field.EndsWith(vbTab)
132
132
  End Function
133
133
  End Class
134
+ ```
135
+
136
+ > MySQL出のデータ取得~更新
137
+ ```
138
+ Imports MySql.Data.MySqlClient
139
+
140
+ Public Class Form1
141
+
142
+ Dim dt As DataTable
143
+ Dim da As MySqlDataAdapter
144
+ ''' <summary>
145
+ ''' 最初の読込
146
+ ''' </summary>
147
+ ''' <param name="sender"></param>
148
+ ''' <param name="e"></param>
149
+ Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
150
+ Dim con As MySqlConnection = createConnection()
151
+ '発行するSQL文を作成する
152
+ Dim SqlStr = "SELECT * FROM store"
153
+ ' データ取得のためのアダプタの設定
154
+ da = New MySqlDataAdapter(SqlStr, con)
155
+ Dim cb As New MySqlCommandBuilder(da)
156
+ ' データを取得し、セットする
157
+ dt = New DataTable
158
+ da.Fill(Dt)
159
+ testDGV.DataSource = dt
160
+ con.Close()
161
+ End Sub
162
+
163
+ ''' <summary>
164
+ ''' ボタンを押したらデータベースをアップデートする
165
+ ''' </summary>
166
+ ''' <param name="sender"></param>
167
+ ''' <param name="e"></param>
168
+ Private Sub update_Click(sender As Object, e As EventArgs) Handles update.Click
169
+ da.Update(dt)
170
+ End Sub
171
+
172
+ ''' <summary>
173
+ ''' MySQLのコネクションを作成する
174
+ ''' </summary>
175
+ ''' <returns></returns>
176
+ Private Function createConnection() As MySqlConnection
177
+ Dim Builder = New MySqlConnectionStringBuilder()
178
+ ' データベースに接続するために必要な情報をBuilderに与える
179
+ Builder.Server = "localhost"
180
+ Builder.Port = 3306
181
+ Builder.UserID = "test"
182
+ Builder.Password = "test"
183
+ Builder.Database = "test"
184
+ Dim ConStr = Builder.ToString()
185
+ ' データベースに接続するための準備をして、実際につなぐ
186
+ Dim Con As New MySqlConnection
187
+ Con.ConnectionString = ConStr
188
+ Con.Open()
189
+ Return Con
190
+ End Function
191
+ End Class
134
192
  ```