mySQLの利用

Similar documents
Case 0 sqlcmdi.parameters("?tencode").value = Iidata(0) sqlcmdi.parameters("?tenname").value = Iidata(1) 内容を追加します sqlcmdi.executenonquery() Case Else

With sqlda sqlda に SelectCommand を追加.SelectCommand = New MySqlCommand() With.SelectCommand.CommandType = CommandType.Text.CommandText = "select * from

DAOの利用

VB実用Ⅲ⑩ フリーデータベースⅡ

データアダプタ概要

MVP for VB が語る C# 入門

ICONファイルフォーマット

構造体

ファイル操作

MxLogonサーバサイドツールキット用UI

ファイル操作-バイナリファイル

( 目次 ) 1. はじめに 開発環境の準備 仮想ディレクトリーの作成 ASP.NET のWeb アプリケーション開発環境準備 データベースの作成 データベースの追加 テーブルの作成

Visual Basic Oracle Database 11g Release 1

Visual Basic 資料 電脳梁山泊烏賊塾 コレクション初期化子 コレクション初期化子 初めに.NET 版の Visual Basic では 其れ迄の Visual Basic 6.0 とは異なり 下記の例の様に変数宣言の構文に 初期値を代入する式が書ける様に成った 其の際 1 の様に単一の値

目次 更新履歴... 1 はじめに... 3 レコードセット?... 3 準備... 5 SQL でデータを取得する... 6 データのループ処理... 7 列の値を取得する... 7 対象行を変更する (MoveFirst, MoveNext, MovePrevious, MoveLast)...

VB.NET解説

ファイル操作-インターネットキャッシュ

グラフィックス

GUIプログラムⅡ

.NETプログラマー早期育成ドリル ~VB編 付録 文法早見表~

データベースⅠ


データベースアクセス

Microsoft Word - Android_SQLite講座_画面800×1280

プラグイン

いまさら聞けないVB2008 ADO.NET超入門

Cuoreテンプレート

データベースⅠ

VB実用③ アクセス操作Ⅰ

ブロック パニック

ListViewコントロール

データベース1

SOLIDWORKS Electrical SQL 接続の可否確認 SQL サーバーにアクセスできない場合 SQL サーバー ( のサービス ) が正常に起動しているか プロトコルが正常に動作しているか 使用するポートが開放されているか SQL ログインユーザーの情報に誤りは無いかなど その原因は多

データベースプログラミング

テスト 1/7 ページ プレポスト Visual Studio による Windows アプリの開発 ( 基礎編 ) 受講日程受講番号氏名 1.NET Framework に関する記述で 誤っているものを選びなさい 1..NET Framework に含まれる CLR は プログラミング言語に依存し

HeartCoreインストールマニュアル

プロセス間通信

ルーレットプログラム

PowerPoint Presentation

CodeGear Developer Camp

スライド 0

Base によるアプリケーション開発とサポート 鎌滝雅久 /OpenOffice.org 日本ユーザー会 OSC2007 Hokkaido 2007 年 6 月 30 日土曜日 10:55-11:40 北海道大学学術交流会館第 4 会議室

Userコントロール

VB実用Ⅲ⑩ フリーデータベースⅡ

PowerPoint プレゼンテーション

PowerPoint Presentation

LogisticaTRUCKServer-Ⅱ距離計算サーバ/Active-Xコントロール/クライアント 概略   

内容 Visual Studio サーバーエクスプローラで学ぶ SQL とデータベース操作... 1 サーバーエクスプローラ... 4 データ接続... 4 データベース操作のサブメニューコンテキスト... 5 データベースのプロパティ... 6 SQL Server... 6 Microsoft

VB.NET解説

データベース1

MISAO with WPF

LogisticaTRUCKServer-Ⅱ距離計算サーバ/Active-Xコントロール/クライアント 概略   

VB実用⑦ エクセル操作Ⅰ

スライド 1

Microsoft Excel操作

Microsoft Word - PHP_SQLServer2012

Ver.1.1

Microsoft Word - Android_SQLite講座_画面800×1280

NotifyIconコントロール

正規表現応用

ファイル監視

Visual Basic Oracle Database 11 Release 1

ADO.NETのアーキテクチャ

10-C.._241_266_.Z

テーブルの確認 sqlite>.tables.tables コマンドでデータベース内のテーブル一覧を表示する テーブルスキーマの表示 sqlite>.schema mytable.schema コマンドで指定のテーブルのスキーマを表示できる テーブル出力の整形.explain コマンドを使うと テー

前ページからの続き // テキストボックス02 id 属性で取得 // id 属性で取得する場合は一意に決まるので 何番目かの指定は不要 var textbox02elem = document.getelementbyid("text_box02_id"); if ("001" == statee

データベース1

1.SqlCtl クラスリファレンス SqlCtl クラスのリファレンスを以下に示します メソッドの実行中にエラーが発生した場合は標準エラー出力にメッセージを出力します (1)Connect() メソッド データベースへ connect 要求を行います boolean Connect(String

目次 はじめに... 3 システムの必要条件... 3 サンプルアプリケーションの作成... 3 手順 手順 手順 手順 手順 手順 終わりに... 23

VB実用① データベースⅠ

2. Docker の基本的な操作 1 docker hub の参照 2 DockerHub の Explorer リンクからアプリケーションを参照 3 アプリケーション検索 4 tag について 3. docker 基本コマンド 1 docker の

FormPat 環境設定ガイド

64bit環境で32bitコンポーネントの利用

Oracle Lite Tutorial

データを TreeView コントロールで表示 VisualStudio2017 の Web サイトプロジェクトで bootstrap, 及び script フォルダの js ファイルが使用できるマスターページを親とする TestTreeView.aspx ページを作成します 下記の html コー

PowerPoint プレゼンテーション

Attain3 インストール説明書

スライド 1

MATCHING SYSTEM マッチングサイト構築システム 設置マニュアル このたびは マッチングサイト構築システムをご利 いただき 誠にありがとうございます 本マニュアルでは 主にシステムの設置について説明しています 尚 内容はバージョンアップなどにより予告なく変更される場合があります

ASP.NET 2.0 Provider Model 概要

MS Office オートメーション

TALON Tips < 親子関係のある構成データを TALON で表示する > 株式会社 HOIPOI 第 1.1 版 p. 1

VFD256 サンプルプログラム

Microsoft PowerPoint - 第5章補足-DB2組み込みSQL.ppt

Microsoft Word - Lab5d-DB2組み込みSQL.doc

倉庫番

スライド 1

PowerPoint プレゼンテーション

ハッシュテーブル

TableAdapterクラス

WebARENA SuiteX V2 EC-CUBE 2.13 インストールマニュアル ( 標準 MySQL+ 非 SSL ) 作成 :2014 年 2 月 Ver.1.1

REAL ESTATE PORTAL WEB SYSTEM. インストール手順 -. 圧縮ファイルの解凍 -2. 設定ファイルの編集 -3. ファイルのアップロード -4. データベースの初期化 インストール後の設定手順 2-. システム設置後の設定 2-2. 管理画 へロ

TestDesign for Web

Sequel のすすめ 私が SQL を嫌いな理由 とみたまさひろ RubyHiroba Sequel のすすめ - 私が SQL を嫌いな理由 Powered by Rabbit 2.0.7

Oracle Lite Tutorial

VB 資料 電脳梁山泊烏賊塾 音声認識 System.Speech の利用 System.Speech に依るディクテーション ( 音声を文字列化 ).NetFramework3.0 以上 (Visual Studio 2010 以降 ) では 標準で System.Speech が用意されて居るの

HeartCoreインストールマニュアル(PHP版)

Microsoft PowerPoint - 4-MySQL50_JDBC_failover.ppt

データベースアクセスチュートリアル

HeartCore(PHP 版 ) インストール手順について説明いたします なお 本資料は 例として下記内容を前提として説明しております 環境情報 対象 OS: Linux ( ディストリビューション : Red Hat Enterprise Linux Server) APサーバ : Apache

Transcription:

MySQL の利用 インストール インストール時に特に注意点は無い 本稿記述時のバージョンは 6.5.4 で有る (2017 年 11 月現在では 6.10.4 で https://dev.mysql.com/downloads/connector/net/6.10.html よりダウンロード出来る ) 参照設定 インストールが終了すれば Visual Studio で参照の設定を行う 参照の設定画面で MySql.Data.dll を選択する 実際の場所は下記フォルダに成ると思う (32bit 機の場合 ) C: Program Files MySQL MySQL Connector Net 6.9.8 Assemblies v2.0 C: Program Files MySQL MySQL Connector Net 6.9.8 Assemblies v4.0 C: Program Files MySQL MySQL Connector Net 6.9.8 Assemblies v4.5 64bit 機の場合は C: Program Files(x86) にインストールされる筈で有る 参照設定で MySql.Data の ローカルにコピーする 設定を True にして置けば リリース後 MySQL Connector をインストールして居ないクライアントでも 問題無く使用出来る 後 ソースの冒頭部分で 下記の Imports 文を追加すれば名前空間をインポートする事が出来る Imports MySql.Data.MySqlClient 此れで MySqlConnection や MySqlDataReader が使用出来る様に成る

接続文字列の作成 下記に MySqlConnectionStringBuilder を用いて接続文字列を作成するコードを示す ' MySqlConnectionStringBuilder の設定 Dim Br As MySqlConnectionStringBuilder = New MySqlConnectionStringBuilder( ) Br.Server = "localhost" Br.Port = 3306 Br.UserID = "root" Br.Password = "" Br.Database = "test" ' 接続文字列の作成 Dim CnStr As String = Br.ToString( ) 自機の仮想サーバーで既定値を用いて居る場合は Server は localhost Port は 3306 UserID は root Password は無し ( ヌルストリング ) で有る 亦 Database には 接続する mysql データベース名を指定する データベースに接続 下記に MySqlConnection を用いてデータベースに接続するコードを示す ' データベースに接続 Dim Cn As MySqlConnection = New MySqlConnection( ) Cn.Open( ) データベースからデータの取得 下記に test データベースの users テーブルのデータを取得する SQL 文の例を設定するコード示す ' 発行する SQL 文の作成 Dim SqlStr As String = "SELECT * FROM users;" 下記に データベースからデータを読み込んで取得する為に SQL 文とデータベース接続情報を渡して MySqlDataAdapter クラスのインスタンスを生成するコードを示す ' データ取得の為のアダプタの設定 Dim Ad As MySqlDataAdapter = New MySqlDataAdapter(SqlStr, Cn) 下記に データアダプタで取得したデータの結果を DataSet に格納するコードを示す ' 取得したデータを DataSet に格納 Dim Ds As DataSet = New DataSet( ) Ad.Fill(Ds, "user")

DataGridView に表示 下記に DataGridView コントロール ( 名前は dgvdisp) に取得したデータを表示するコードを示す ' DataGridView に取得したデータを表示 dgvdisp.datasource = Ds.Tables(0) dgvdisp.datamember = "user" 上記では 単純に取得したデータをバインディングして DataGridView コントロールに表示して居るが データの値に依りセルの書式を設定する等 より高度な表示を行う場合は 各レコード毎に DataGridViewRow を設定して DataGridView コントロールの Rows に追加して行く方法を採ると良い データベースの切断 下記に 使用済のデータベースへの接続を切断するコードを示す データベースの切断 Cn.Close( ) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ データベースにデータの追加 下記に test データベースの users テーブルにデータを追加する SQL 文の例を設定するコード示す ' 発行する SQL 文の作成 Dim SqlStr As String = "INSERT INTO users(username,age) VALUES("uno",68);" 下記に データベースにデータ追加する為に SQL 文とデータベース接続情報を渡して MySqlCommand クラスのインスタンスを生成するコードを示す ' データ追加の為のコマンドの設定 Dim Cmd As MySqlCommand = New MySqlCommand(SqlStr, Cn) 下記に コマンドを用いて SQL を実行するコードを示す ' SQL を実行 Cmd.ExecuteNonQuery( ) 猶 下記の様に SQL 文にプレースホルダーを用いて データをバインドする事も出来る 大量のデータを追加する場合等に便利で有る Dim SqlStr As String = "INSERT INTO user VALUES(?val1,?val2)" ' プレースホルダーにバインド Cmd.Parameters.AddWithValue("?val1", "uno") Cmd.Parameters.AddWithValue("?val2", 68)

参考 例外処理を施したコード例 ' MySqlConnectionStringBuilder の設定 Dim Br As MySqlConnectionStringBuilder = New MySqlConnectionStringBuilder( ) Br.Server = "localhost" Br.Port = 3306 Br.UserID = "root" Br.Password = "" Br.Database = "test" ' 接続文字列の作成 Dim CnStr As String = Br.ToString( ) ' コネクションの生成と設定 Dim Cn As MySqlConnection = New MySqlConnection( ) Cn.Open( ) Try ' データベースに接続 Cn.Open() ' 発行する SQL 文の作成 Dim SqlStr As String = "SELECT * FROM users;" ' データ取得の為のアダプタの設定 Dim Ad As MySqlDataAdapter = New MySqlDataAdapter(SqlStr, Cn) ' 取得したデータを DataSet に格納 Dim Ds As DataSet = New DataSet( ) Ad.Fill(Ds, "user") ' 取得したデータを DataSet に格納 Dim Ds As DataSet = New DataSet( ) Ad.Fill(Ds, "user") ' DataGridView に取得したデータを表示 dgvdisp.datasource = Ds.Tables(0) dgvdisp.datamember = "user" Catch ex As MySqlException MessageBox.Show(ex.Message) Finally Cn.Close() End Try

トランザクションのコード例 Dim Cn As New MySqlConnection Dim Trans As MySqlTransaction = Nothing ' Server: サーバー IP or FQDN UserID: ユーザー名 Password: パスワード Catalog: データベース名 Dim CnStr As String = "Server= localhost;userid=vbnet;password=vbnet;initial Catalog=vbnet" Try Cn.Open() ' トランザクション開始 Trans = Cn.BeginTransaction Dim SQL As String = "INSERT INTO DEPARTMENT VALUES(?val1,?val2)" Dim Cmd As New MySqlCommand(SQL, Cn) ' プレースホルダーにバインド Cmd.Parameters.AddWithValue("?val1", 6) Cmd.Parameters.AddWithValue("?val2", "DUMMY1") ' SQL を実行 Cmd.ExecuteNonQuery() ' プレースホルダーへのバインドをクリアしてから改めてバインド Cmd.Parameters.Clear() Cmd.Parameters.AddWithValue("?val1", 5) Cmd.Parameters.AddWithValue("?val2", "DUMMY2") ' SQL を実行 ( 此処で一意制約違反発生!) Cmd.ExecuteNonQuery() ' コミット Trans.Commit() MessageBox.Show(" 接続!!") Catch ex As MySqlException If (Trans IsNot Nothing) Then ' トランザクションが開始していればロールバック Trans.Rollback() End If MessageBox.Show(ex.Message) Finally Cn.Close() End Try

DAO を用いたコーディング例 下記に データベース list から名簿情報を取得し DataGridView に表示するメソッド ( プロシージャ ) を示す 此処で使用するデータベース list のテーブル list_table は 下記の通りで有る name varchar(30) not null age smaillint not null gender varchar(2) not null Private Sub GetListData() Dim SQL As String Dim Dr As MySql.Data.MySqlClient.MySqlDataReader Dim Db As DataBase Dim Row As String( ) ' SQL 文 ' SELECT 結果 ' データベースオブジェクト ' DataGridView に追加する 1 行 ' DataGridView の内容を消去 dgvlist.rows.clear( ) ' データベースの初期設定 ( ホスト名 ポート番号 データベース名 ユーザ ID パスワード ) ' 自分の環境に応じて変更すること Db = New DataBase("localhost", "3306", "list", "root", "password") ' データベースに接続 Db.Open() ' 名簿データを取得する SQL 文作成 SQL = "" SQL = SQL & "SELECT " SQL = SQL & " name, " SQL = SQL & " age, " SQL = SQL & " gender " SQL = SQL & "FROM " SQL = SQL & " list_table;" DataBase オブジェクトを使用するには Microsoft DAO x.x Object Library を参照設定する必要が有る? ' SQL 文実行して結果取得 Dr = Db.ExecuteQuery(SQL) While Dr.Read() ' 配列を初期化 ReDim Row(2) Row(0) = Dr("name") ' 読み込んだ行の name 列を取得 Row(1) = Dr("age") ' 読み込んだ行の age 列を取得 Row(2) = Dr("gender") ' 読み込んだ行の gender 列を取得 ' DataGridView に 1 行追加 dgvlist.rows.add(row) End While ' データベースを閉じる Db.Close( ) End Sub