きっかけ
VB.NETは触ったことがなく日頃はExcel,AccessVBAでDB接続をして簡単なアプリを作ってる。ここは一念発起でVB.NETでアプリをつくると腹をくくった。(つもり)開発ツールなどは無償で環境を構築できる。あとは頑張る。テストを行った簡単な記録。会社の基幹系DBがOracleなのでハードルが上がりそうだがOracleで作ることにする。この先道のりは厳しい。
構成
開発ツール | Visual Studio Community2015 |
ミドルウェア | ODP.NET(Oracle Developer Tools for Visual Studio) |
データベース | Oracle Database Express Edition 11g Release 2 |
OS | Windows8.1 |
インストール
VisualStudioインストール
初期設定のまま最後まで
DBインストール設定
インストール後Web管理画面からユーザ名パスワード設定
ODP.NET ODTインストール設定
インストール途中にClient接続情報の設定 tnsnames.oraが作られる
コードを書いていく前に参照設定の追加
サーバエクスプローラにOracleのテーブルが出現していたのでこれにて無手順で接続できるはずと勝手に思い込み参照設定が必要なことを気が付くまで恐ろしく時間を費やしてしまった。そういえばVBAでも参照設定しないとADO使えないなぁと後で合点VB.NETはDLLを指定する方式なのだなぁ。
いろいろ調べてコードを書いてみた
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 |
Imports Oracle.DataAccess.Client Public Class Form1 Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click Dim strUser As String 'ユーザー Dim strPasswd As String 'パスワード Dim strDataSource As String 'データソース Dim strConnectstring As String Dim oraCon As OracleConnection Dim strSql As String Dim Dadp As OracleDataAdapter Dim Dset As DataSet strUser = "SHUKEI" strPasswd = "admin" strDataSource = "XE" strConnectstring = "User Id=" & strUser & "; " & "Password=" & strPasswd & "; " & "Data Source=" & strDataSource oraCon = New OracleConnection(strConnectstring) oraCon.Open() Dset = New DataSet("TMP") strSql = "" strSql = strSql & "Select EMPNO 社員番号,ENAME,JOB,MGR,HIREDATE,SAL FROM EMP" Dadp = New OracleDataAdapter(strSql, oraCon) Try Dadp.Fill(Dset, "TMP") Me.DataGridView1.DataSource = Dset.Tables("TMP") Me.DataGridView1.ReadOnly = True Me.DataGridView1.AllowUserToDeleteRows = False Me.DataGridView1.AllowUserToAddRows = False '全ての行の背景色を水色にする Me.DataGridView1.RowsDefaultCellStyle.BackColor = Color.AliceBlue '奇数行を黄色にする Me.DataGridView1.AlternatingRowsDefaultCellStyle.BackColor = Color.White Catch ex As Exception MessageBox.Show(ex.ToString) End Try Dadp.Dispose() oraCon.Close() End Sub |
コメント