投稿者

インターシステムズジャパン
記事 Toshihiko Minamoto · 12月 23, 2020 3m read

動的SQLの新旧対照表

新しい動的 SQL クラス(%SQL.Statement および %StatementResult)のパフォーマンスは %ResultSet より優れてはいますが、%ResultSet の使用方法をせっかく学習したので、しばらくの間新しい方を使用せずにいましたが、 やっとチートシートを作ったので、新しいコードを書いたり古いコードを書き直す際に役立てています。 皆さんのお役に立てればいいなと思っています。

次に示すのは、私のチートシートの詳細版です。

<th>
  %ResultSet::%New()
</th>

<th>
  %SQL.Statement::%New()
</th>
<td>
     Prepare() インスタンスメソッドを呼び出す
</td>

<td>
     %Prepare() インスタンスメソッドを呼び出す
</td>
<td>
     前のステップがステータスを返すので、それを確認
</td>

<td>
     前のステップがステータスを返すので、それを確認
</td>
<td>
     Execute() インスタンスメソッドを呼び出す
</td>

<td>
     %Execute() インスタンスメソッドを呼び出す
</td>
<td>
     前のステップがステータスを返すので、それを確認
</td>

<td>
     前のステップが %SQL.StatementResult のインスタンスを返すので、次のステップでそれを使用
</td>
<td>
     Next() インスタンスメソッドを呼び出す(while ループでイテレートなど)
</td>

<td>
     %Next() インスタンスメソッドを呼び出す(while ループでイテレートなど)
</td>
<td>
     GetData() インスタンスメソッドを呼び出して、列番号で列を取得
</td>

<td>
     %GetData() インスタンスメソッドを呼び出して、列番号で列を取得
</td>
<td>
     %Get() インスタンスメソッドを呼び出して、列番号で列を取得
</td>
1
2
3
4
5
6
7
   Get() または Data() インスタンスメソッドを呼び出して、列番号で列を取得

 

そして、これが私が実際に使用している簡易版チートシートです。

<th>
  %ResultSet::%New()
</th>

<th>
  %SQL.Statement::%New()
</th>
<td>
     Prepare()
</td>

<td>
     %Prepare()
</td>
<td>
     ステータスを確認
</td>

<td>
     ステータスを確認
</td>
<td>
     Execute()
</td>

<td>
     %Execute()
</td>
<td>
     ステータスを確認
</td>

<td>
     %Execute の戻り値を次のステップに使用
</td>
<td>
     Next()
</td>

<td>
     %Next()
</td>
<td>
     GetData()
</td>

<td>
     %GetData()
</td>
<td>
     %Get()
</td>
1
2
3
4
5
6
7
   Get() または Data()