LoginSignup
2
2

More than 5 years have passed since last update.

VB.NETでMySQLからデータセット経由でデータをXMLで保存する

Last updated at Posted at 2017-06-23

なんで今更

私用のメモ兼なんかググってもやりたいことがパッとでなかったので書いちゃいます。

環境

OS :Windows10 Pro 64bit
IDE:Visual Studio 2015
DB :MySql 5.7.18

MySQL導入

MySQLインストール

https://www.dbonline.jp/mysqlinstall/
このページ見てインストールとPATHの確認にあるコマンドプロンプトで実行できるかまでやってください。
あとインストール時のパスワードを忘れないようにしましょう。

テーブル作成

MySQL導入後コマンドプロンプトを管理者モードで起動し下記を打ち込みます。

startup

mysql-u root -p

そうするとパスワードを入力してねと出ると思うのでインストール時に入力したパスワードを入力し、MySQLに入ります。
次にデータベースとテーブルを作ります。私は下記な感じで作りました。

create.sql

#データベースを新しく「testdb」との名前で作って、
#その中にusersってテーブルを作ってデータを入れる。
create database testdb; 
create table testdb.users(
id int not null auto_increment primary key,
name varchar(255),
email varchar(255) unique,
password char(32)
);
INSERT INTO users (id, name, email,password)
  VALUES (1, 'hoge', 'hoge@hoge','fuga');

コードを書く・・・前に

VisualStudioそのままだとMySQLに接続できないのでMySQL Connector/Netを入れましょう。
VSを立ち上げて「新規プロジェクトを作成」を選択、WindowsフォームアプリケーションとかでOKを押下しプロジェクトを作成します。
その後ソリューションエクスプローラーから作ったプロジェクトを右クリックし「ソリューションのNuGetパッケージの管理」を選択します。
出てきたNuGetウィンドウの参照を選択して検索窓に「MySQL.Data」と入力して一番上(多分)に出てきたMySQL.Dataをインストールしてください。

XMLを作成するコード

あとはコードを書くだけです、私はこんな感じでボタンを押したら任意のパスにXMLが出力されるような感じにしました。
コードが汚いのは仕様ですご理解していただきたく。
エラーキャッチしてないのは見ないふりしていただきたく。

XMLCreate

Imports System
Imports MySql.Data.MySqlClient

Public Class Form1
    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        Dim constr As String
        Dim conn As MySqlConnection
        Dim da As MySqlDataAdapter
        Dim ds As DataSet
        Dim sql As String
        Dim filePath As String

        constr = "userid=root;password=(設定したパスワード);Host=localhost"
        conn = New MySqlConnection(constr)

        Try
            conn.Open()

            sql = "SELECT * FROM testdb.users"
            filePath = "出力したいパス\test.xml"

            da = New MySqlDataAdapter(sql, conn)
            ds = New DataSet("users")
            da.FillSchema(ds, SchemaType.Source, "users")
            da.Fill(ds)

            ds.WriteXml(filePath)

            conn.Close()

        Catch ex As Exception

        End Try


    End Sub
End Class

終わりに

MySQLからデータを受け取ってXML出力をする。という目標で検索しつつ上記のようになりました。
すぐ忘れそうなのでメモりましたが誰かの役に立てれば幸いです。

参考

MySQLインストール
Mysqlコマンド
Visual Studio で MySQL データベースに接続する
方法 : データセットを XML として保存する

2
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
2