【VB.NET】Oracleに接続してデータを操作(追加・更新・削除)してみる
おはようございます。
今日も引き続きVB.NET。
プログラムは前回のものを参考にしてください。
スポンサーリンク
プログラム修正
更新処理
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 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 | ''' <summary> ''' 更新ボタンクリックイベント ''' </summary> ''' <param name="sender"></param> ''' <param name="e"></param> PrivateSubbtnUpdate_Click(sender AsObject,eAsEventArgs)HandlesbtnUpdate.Click Using conn=NewOracleConnection("Data Source=localhost;User Id=USER01;Password=USER01;") ' データベースオープン conn.Open() ' データ更新 Fori=0To dgvCat.Rows.Count-1 ' テーブルから対象のデータを取得 Dimno AsInteger=dgvCat(0,i).Value ' シーケンス列としていないので、 ' 最初に件数を取得して No を計算する Dimcmd AsOracleCommand=NewOracleCommand("SELECT COUNT(*) FROM TBLCAT WHERE No = "+no,conn) Dimcnt AsDecimal=cmd.ExecuteScalar() If(cnt=0)Then ' データ追加 Dimquery="INSERT INTO TBLCAT VALUES ("+ (cnt+1)+ ", '"+dgvCat(1,i).Value+"'"+ ", '"+dgvCat(2,i).Value+"'"+ ", "+dgvCat(3,i).Value+"'"+ ", '"+dgvCat(4,i).Value+"'"+ ", '"+dgvCat(5,i).Value+"')" cmd=NewOracleCommand(query,conn) cmd.ExecuteNonQuery() Else ' データ変更 Dimquery="UPDATE TBLCAT SET"+ " NAME = '"+dgvCat(1,i).Value+"'"+ ", SEX = '"+dgvCat(2,i).Value+"'"+ ", AGE = "+dgvCat(3,i).Value+ ", KIND_CD = '"+dgvCat(4,i).Value+"'"+ ", FAVORITE = '"+dgvCat(5,i).Value+"' "+ "WHERE NO = "+dgvCat(0,i).Value cmd=NewOracleCommand(query,conn) cmd.ExecuteNonQuery() EndIf Next conn.Close() EndUsing AddRowFlg=False ' データ再検索 search() MessageBox.Show("データを更新しました。") EndSub |
削除処理
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 | ''' <summary> ''' 削除ボタンクリックイベント ''' </summary> ''' <param name="sender"></param> ''' <param name="e"></param> PrivateSubbtnDelete_Click(sender AsObject,eAsEventArgs)HandlesbtnDelete.Click Using conn=NewOracleConnection("Data Source=localhost;User Id=USER01;Password=USER01;") ' データベースオープン conn.Open() ' 選択されている行 For EachrAsDataGridViewRow In dgvCat.SelectedRows DimCat AsCat=CType(dgvCat.DataSource(),List(Of Cat)).Item(r.Index) ' データ削除 Dimquery AsString="DELETE FROM TBLCAT WHERE NO = "+Cat.No ' クエリ実行 Dimcmd AsOracleCommand=NewOracleCommand(query,conn) cmd.ExecuteNonQuery() Next conn.Close() EndUsing ' データ再検索 search() MessageBox.Show("データを削除しました。") EndSub |
まとめ
起動後の画面は、SQLiteの時と変わらないので割愛しました。
次回以降は、一応他のDBもやっていこうかと思います。
ではでは。
ディスカッション
コメント一覧
まだ、コメントがありません