全ては時の中に…

システム開発全般の技術や開発に役立つツール、プログラミングのサンプルを紹介しています。

更新

【VB.NET】DataAdapterを利用したデータの取得と値の更新

記事「【VB.NET】SQL Serverに接続する(ADO.NET) 」に関連した内容で、SqlDataAdapterを利用したデータの取得と値の更新方法について説明します。

データの取得は、以下の手順で行います。
 1.SqlDataAdapterのインスタンスを生成する。
 2.SqlCommandで実行するSQL文を指定する。
  →SqlDataAdapterのSelectSqlCommandプロパティを指定する。
 3.SqlDataAdapterのFill()メソッドを実行する。

また、データの反映は、以下の手順で行います。
 1.SqlDataAdapterのMissingSchemaActionプロパティを設定する。
 2.SqlCommandBuilderのインスタンスを生成する。
 3.SqlCommandBuilderのGetUpdateCommand()メソッドを実行する。
  →更新用SqlCommandを取得する。
 4.SqlDataAdapterのUpdate()メソッドを実行する。

以下、サンプル。
続きを読む

【SQL】更新の条件に別テーブルの項目を利用する

データの更新を行う場合に指定したテーブルとは、別のテーブルの項目を条件に指定したいことがあります。
このような場合の指定方法について説明します。

UPDATEステートメントでは、通常、1つのテーブルのみを指定します。
そのため、別のテーブルを条件に指定する場合には、WHERE条件で副問い合わせを行う必要があります。
※DBMSによっては、1つのUPDATEステートメントで複数テーブルの更新をサポートしている場合もありますが、WHERE条件に複数のテーブルを利用する場合には、やはり、副問合せを利用します

以下、サンプル。
続きを読む

【SQL】副問合せの結果を使って更新する

以前の記事「【SQL】項目を更新する(UPDATEステートメント)」の応用で、別のテーブルに設定されている値を使って、項目を更新する方法について説明します。
このような場合、以下の方法で実装することができます。
 1.副問合せを利用する
 2.繰り返し(Fetchステートメント)を利用する
  →Fetchについては、以前の記事「【SQL Server】繰返処理(Fetch)を利用する 」を参照して下さい。

今回は、「1.副問合せを利用する」の方法について説明します。
この方法は、SETで指定する右辺にSELECTステートメントを記述し、その結果を利用して更新することになります。

以下、サンプル。
続きを読む

【SQL】項目を更新する(UPDATEステートメント)

SQLでデータの更新を行う場合、UPDATEステートメントを利用します。
UPDATEステートメントについて、説明します。

UPDATEステートメントの構文は、以下の通りです。

【構文】
《更新項目が1項目の場合》
UPDATE テーブル名
SET 項目名1 = 更新する値
WHERE 条件式

《更新項目が複数項目の場合》
UPDATE テーブル名
SET 項目名1 = 更新する値,
項目名2 = 更新する値
WHERE 条件式

斜体の部分には、以下の値を指定します。
続きを読む

【VB.NET】画面を再描画(更新)する

時間のかかる処理を行っている最中に画面の情報を更新する場合、画面の更新が適切に行われないことがあります。
例えば、以下のようなコードを記述すると、画面の更新が上手く行われていないことが確認できます。
これを回避する方法について説明します。

以下のコードの期待する結果としては、以下を想定しています。
 ・テキストの値が「1, 2, 3, ... 9999, 10000」と切り替わる。
 ・プログレスバーが徐々に100%に近付いていく。
  (最終的に100%になる)

Public Class Form1
Private Sub Button1_Click( _
ByVal sender As System.Object,
ByVal e As System.EventArgs) Handles Button1.Click

ProgressBar1.Maximum = 10000
ProgressBar1.Minimum = 1
ProgressBar1.Value = 1

For idx As Long = 1 To 10000
ProgressBar1.Value = idx
TextBox1.Text = idx
Next idx
End Sub
End Class

上記のコードを実行すると、以下のような結果になります。
 ・テキストの値は、10000と表示されるだけである。
 ・プログレスバーの進み具合が飛び飛びになっている感じがする。

この事象は、一連の処理内で画面の再描画が行われていないために発生しています。この状態を回避するためには、フォームオブジェクトのRefresh()メソッドを利用します。

以下、サンプルです。
続きを読む

【PowerBuilder】ItemChangedイベントで関連した計算フィールドを更新する

データウィンドウのItemChangedイベント内では、変更後の値を利用するにはdata変数を利用する。
(data変数は、ItemChangedイベントの引数で、変更後の値を保持している)
ItemChangedイベント発生時点では、以下のような状態である。
 ・表示されている値は、変更されている。
 ・コード内で変更された値を使用する場合には、data変数を利用する。
 ・この時点では、計算フィールド等には影響を与えない。

そのため、変更した値を利用して計算フィールドを更新する場合には、以下の処理が必要となる。
 SetItem(rows, 項目名 or 項目番号, 値)

この処理を行うと、明示的に項目の値を変更するため、計算フィールド等にも影響を与えるようになる。
続きを読む
Recent Comments
Recent TrackBacks
Profile

ふりっつ

システムエンジニア
取得資格:
 ソフトウェア開発技術者
 MCP(70-290)
メールマガジン:
 【出張版】全ては時の中に…

メールマガジン
メルマガ登録・解除
【出張版】全ては時の中に…
 
 powered by メルマガスタンドmelma! トップページへ
ブログランキング
アクセス解析出会い




にほんブログ村 IT技術ブログへ

にほんブログ村 IT技術ブログ プログラム・プログラマへ

Amazon
スポンサー
HonyaClub.com

PCDEPOT WEB本店/OZZIO

FUJIFILMMALL(フジフイルムモール)

IT 関連資格ならクラムメディア問題集

  • ライブドアブログ