郵便番号データベースを検索する・その1

作成したデータベースは検索しなければ意味がないので検索する方法を、今回は固定文字列を直接入力して検索する方法。
検索する文字「以下に掲載がない場合」
作成したデータの町名からこの文字列を探して表示する。
入力した任意の文字列を検索する方法は後日後悔する予定。
通常のやり方で作成したら弾かれてしまったので原因を調査中。

既にSQLデータは作成してあるので呼び出すだけで良い。
SQLで呼び出しに使う命令はselectなのでそれを利用する。

尚、今回のプログラムではグリッドを使用するDLLとデータベースを使用するDLLが追加されている。
「Produire.Data.Base.dll」を利用する
「Produire.Data.SQLite.dll」を利用する
「Produire.Data.Grid.dll」を利用する

このDLLを使用しなければならないことが分からず正直かなり悩みました。

こんな画面になる
検索結果
サンプルプログラムは以下の通り。

——————————ここから
//
// 郵便番号SQLで検索・画面
//
// プロデルからSQLiteデータベースを操作する例 //
//SQLiteを利用するには、System.Data.SQLite.dllが必要です

「Produire.Data.Base.dll」を利用する
「Produire.Data.SQLite.dll」を利用する
「Produire.Data.Grid.dll」を利用する

SQLiteというSQLiteデータベースを作る
SQLiteのデータソースを、「test01.db」に変える
SQLiteへ接続する

メイン画面を表示する

待機する

メイン画面とは
ウィンドウを継承する
はじめの手順
初期化する
ーー貼り付けた部品に対する操作をここに書きます
//表部品1のデータ表をデータに変える
終わり
初期化する手順
ーー自動生成された手順です。ここにプログラムを書き加えても消える場合があります
この内部領域大きさを{658,322}に変える
この内容を「メイン画面」に変える
表部品1という表部品を作る
表部品1を初期化開始する
その位置と大きさを{26,94,602,188}に変える
その列見出し高さを18に変える
その移動順を2に変える
そのドラッグドロップを×に変える
表部品1を初期化終了する
ボタン1というボタンを作る
その位置と大きさを{26,12,75,33}に変える
その内容を「スタート」に変える
その移動順を1に変える
そのドラッグドロップを×に変える
終わり

//スタートボタンが押された時の手順
ボタン1がクリックされた時の手順
データを、取得する
終わり

データを、取得する時の手順
/*  登録したテーブルの中身を確認するサンプルプログラムなので↓に書いておきます。
SQLiteで「CREATE TABLE yubin (
ycode1 TEXT,
ken TEXT,
city TEXT,
machi TEXT);」を実行する
*/
ーーデータの取得
// 郵便番号テーブルから町名=”以下に掲載がない場合”を検索します。
SQLiteから「SELECT * FROM ubin2 where machi =”以下に掲載がない場合”; 」をデータ表として取得してデータとする
データの名前は、「郵便番号」
表部品1のデータ表をデータに変える
終わり
終わり
——————————ここまで

郵便番号のデータベース作成・その2

「その1」で作成したSQLite作成プログラムには欠点がある。
「その1」のSQLiteのプログラムの中には項目の中にキーが設定されていない。このままでは「その1」のプログラムを複数回実行すれば同じ郵便番号が複数存在出来てしまう。つまり設定が間違っている。
SQLiteに限らず全てのSQLにはデータの重複を防ぐキーを設定することが出来る。今回はそれを踏まえて重複しないように修正する。(「その1」のプログラムを複数回実行すればエラーが発生するが強制終了せずに継続させれば同一データが複数登録されてしまう。)
SQLの資料を検索するとキー設定という重複を防ぐ説明がすぐに見つかるのでSQLiteでテータ作成するときにキーを付けることが出来れば郵便番号データの重複が防止出来る。形式的には次のようになる。

CREATE TABLE テーブル名
(項目名1 INTEGER UNIQUE,
項目名2 INTEGER,
項目名3 TEXT,
項目名4 DATE);

キーの設定は項目名の後ろに「UNIQUE」を加える事で設定することが出来る。(郵便番号データではINTEGER(数値)・DATE(日付)形式は使用しない。)

データベースにどの項目は「その1」と同じ。

1.郵便番号(7桁)…… 半角文字列
2.都道府県名 ………… 漢字(コード順に掲載)
3.市区町村名 ………… 漢字(コード順に掲載)
4.町域名 ……………… 漢字(五十音順に掲載)

必要なのは、この4つの項目となる。

作るのはデータベースの枠と郵便データのテーブル。データベースの枠はそのまま使用するのでデータベース名はそのまま。

データベース名=test01

新テーブル名 =ubin

比較するために前回作成したyubinテーブルはそのまま残しておく。

現在、元の郵便番号データに重複しているデータが存在している為、途中で数回エラーが発生しています。エラーが発生したら「続ける」を選択してください。ちゃんと郵便番号テーブルが作成されます。(現在対応策を調査中)
郵便番号データは比較的件数の少ない県のデータを使う事をお勧めします。

——————————ここから

//
// 郵便番号SQL作成02
//
// プロデルからSQLiteデータベースを操作する例 //
//SQLiteを利用するには、System.Data.SQLite.dllが必要です
「Produire.Data.SQLite.dll」を利用する

SQLiteというSQLiteデータベースを作る
SQLiteのデータソースを、「test01.db」に変える
SQLiteへ接続する

//CSVファイルをデータ表に読み込み保存されているデータを取得。
データ表を作ってデータとする
データへ「data.csv」から読み込む  // 好きな都道府県の郵便番号データを使用してください。
一覧は、データの一覧
カウント=0
テーブルを、作成する // テーブルを作成します

データの一覧のすべての【行要素】についてそれぞれ繰り返す
     カウント=カウント+1  //行要素で良いはずなのですがエラーが出るのでカウントを作ります。
     レコードは、一覧(カウント)  //一覧にCSVデータを読み込みます
     //レコードを報告する
     郵便番号は、レコード(3)// 郵便番号7ケタ (キーとして使用する)
     都道府県は、レコード(7)//都道府県・漢字
     市町村は、レコード(8)//市町村・漢字
     町名は、レコード(9)//町名・漢字

     //SQLiteにデータを書き込みます
     データを、追加する

繰り返し終わり

//最後に作成したデータをSQLiteで読み込んで表示します
データを、取得する

テーブルを、作成する手順
     ーーテーブルの作成 テーブル名 ubin
     //1.ycode1 =郵便番号 キーとして使用
     SQLiteで「CREATE TABLE ubin2 (
          ycode1 TEXT UNIQUE,
          ken TEXT,
          city TEXT,
          machi TEXT)」を実行する
終わり

データを、取得する手順
     ーーデータの取得
     SQLiteから「SELECT * FROM ubin2」を取得して結果とする
     「初期状態」として結果の内容を情報アイコンで表示する
終わり

データを、追加する手順
     ーーデータの追加
     SQL文は、「INSERT INTO ubin2 (ycode1,ken,city,machi) VALUES(?,?,?,?);」
     バインド値は、{郵便番号,都道府県,市町村,町名}
     //バインド値を報告する
     SQL文をバインド値としてSQLiteで実行する

終わり

——————————ここまで

郵便番号のデータベース作成・その1

日本郵便では郵便番号のデータのダウンロードファイルを用意されている。今回はそのデータを利用してSQLiteのデータベースを作成するプロデルのサンプルを作ってみた。(ファイル名はダウンロード後、各自で自由に命名してください。)

今回はCSVファイルをSQLに書き出すものなので、読み込むものはまた後で書きます。

私のブログで頻繁に使用している郵便番号のデータは次のような構成になっている。

郵便番号データファイルの形式等
全角となっている町域部分の文字数が38文字を越える場合、また半角となっているフリガナ部分の文字数が76文字を越える場合は、複数レコードに分割しています。
この郵便番号データファイルでは、以下の順に配列しています。
全国地方公共団体コード(JIS X0401、X0402)……… 半角数字
(旧)郵便番号(5桁)……………………………………… 半角数字
郵便番号(7桁)……………………………………… 半角数字
都道府県名 ………… 半角カタカナ(コード順に掲載) (注1)
市区町村名 ………… 半角カタカナ(コード順に掲載) (注1)
町域名 ……………… 半角カタカナ(五十音順に掲載) (注1)
都道府県名 ………… 漢字(コード順に掲載) (注1,2)
市区町村名 ………… 漢字(コード順に掲載) (注1,2)
町域名 ……………… 漢字(五十音順に掲載) (注1,2)

このデータをもとにSQLiteでデータベースを作成するプログラムを作ろうかと考えている。

取りあえず最初から全国では時間が掛かるので東京都のデータをもとに作成する。
プロデルのCSVファイルの乱を見ると、次のような例が出ている。

CSVファイルを読み込む
CSVファイルをデータ表に読み込むことですでに保存されているデータを取得できます。

データ表を作ってデータとする
データへ「data.csv」から読み込む。

データの一覧のすべての【行要素】についてそれぞれ繰り返す
行要素(1)を報告する
繰り返し終わり

何を変えるのかと考えれば、読み込むファイル名と「この行要素(1)を報告する」箇所にデータベースを入れ込むようにすれば良いのでその方向で考える。
その前にデータベースにどの項目を入れるのか考える。

1.郵便番号(7桁)…… 半角数字
2.都道府県名 ………… 漢字(コード順に掲載)
3.市区町村名 ………… 漢字(コード順に掲載)
4.町域名 ……………… 漢字(五十音順に掲載)

必要なのは、この4つの項目となる。

作るのはデータベースの枠と郵便データのテーブル

データベース名=test01

テーブル   =yubin

テーブルの項目
1.ycode1 =郵便番号(7桁)…… 半角数字
2.ken =都道府県名 ………… 漢字(コード順に掲載)
3.city =市区町村名 ………… 漢字(コード順に掲載)
4.machi =町域名 ……………… 漢字(五十音順に掲載)

この前提でプログラムを作ります。プログラムには画面を付けていないので、動作している際に何も反応が無いので不安だと思います。動作確認後に画面をお追加してみてください。

今回のプログラムも郵便番号データを用いています。作成するものが大きなデータなので数分間掛かります。全ての作成が終了した段階でSQLiteに書き込んだデータを表示します。

なお、[test01.db]が既に存在しているとエラーが発生します。

一度、動作させた段階でファイルが作成されるので複数回プログラムを動作させる場合はご注意ください。([test01.db]を削除してから利用してください)

——————————ここから

//
// 郵便番号SQL作成
//
// プロデルからSQLiteデータベースを操作する例 //
//SQLiteを利用するには、System.Data.SQLite.dllが必要です
「Produire.Data.SQLite.dll」を利用する

SQLiteというSQLiteデータベースを作る
SQLiteのデータソースを、「test01.db」に変える
SQLiteへ接続する
/*
1.全国地方公共団体コード
2.(旧)郵便番号(5桁)
3.郵便番号(7桁)
4.都道府県名(半角カタカナ)
5.市区町村名(半角カタカナ)
6.町域名(半角カタカナ)
7.都道府県名 (漢字)
8.市区町村名 (漢字)
9.町域名 (漢字)

——————————
今回使用する項目
——————————
3.郵便番号(7桁)(数字だけど文字列)
7.都道府県名 (漢字)
8.市区町村名 (漢字)
9.町域名 (漢字)

*/

//CSVファイルをデータ表に読み込み保存されているデータを取得。
データ表を作ってデータとする
データへ「data.csv」から読み込む
一覧は、データの一覧
カウント=0
テーブルを、作成する // テーブルを作成します

データの一覧のすべての【行要素】についてそれぞれ繰り返す
//行要素を表示 //各行ごとのデータは行要素です
カウント=カウント+1  //行要素で良いはずなのですが不安なのでカウントを作ります。
レコードは、一覧(カウント)  //一覧にCSVデータを読み込みます
//レコードを報告する
郵便番号は、レコード(3)// 郵便番号7ケタ 郵便番号は後で2つに分ける
都道府県は、レコード(7)//都道府県・漢字
市町村は、レコード(8)//市町村・漢字
町名は、レコード(9)//町名・漢字

//SQLiteにデータを書き込みます
データを、追加する

繰り返し終わり

//最後に作成したデータをSQLiteで読み込んで表示します
データを、取得する

テーブルを、作成する手順
ーーテーブルの作成 テーブル名 yubin
//1.ycode1 =郵便番号
//2.ken =都道府県名
//3.city =市区町村名
//4.machi =町域名
SQLiteで「CREATE TABLE yubin (
ycode1 TEXT,
ken TEXT,
city TEXT,
machi TEXT);」を実行する
終わり

データを、取得する手順
ーーデータの取得
SQLiteから「SELECT * FROM yubin」を取得して結果とする
「初期状態」として結果の内容を情報アイコンで表示する
終わり

データを、追加する手順
ーーデータの追加

SQL文は、「INSERT INTO yubin (ycode1,ken,city,machi) VALUES(?,?,?,?);」
バインド値は、{郵便番号,都道府県,市町村,町名}
//バインド値を報告する
SQL文をバインド値としてSQLiteで実行する

終わり

——————————ここまで

先日の続き、表に出来ました

先日、「プロデルでこんな事を実現したい」と書いた。その後、プロデル開発者の「ゆうとさん」に同様の質問をさせていただいたところ、「データ表」を使う事で実現できるとのお返事をいただきました。
ゆうとさん、感謝!感謝!です。

そこで、こんなサンプルを作ってみました。

データ表

——————————ここから
//
// CSVファイルを読み込みデータ表として表示
//
//

データというデータ表を作る

メイン画面を表示する
待機する

メイン画面とは
ウィンドウを継承する

はじめの手順
初期化する
データ表を作ってデータとする
データへ「data.csv」から読み込む // 郵便番号データ

表部品1のデータ表をデータに変える // ここでデータ表にセット

終わり
初期化する手順
この内部領域大きさを{442、258}に変える
この内容を「表部品のテスト」に変える
このドラッグドロップを○に変える
ラベル1というラベルを作る
その内容を「ラベル1」に変える
その位置と大きさを{259、16、39、12}に変える
テキスト1というテキストを作る
その位置と大きさを{12、13、241、19}に変える
表部品1という表部品を作る
表部品1を初期化開始する
その位置と大きさを{12、38、418、208}に変える
その位置固定方向を「右+左+下+上」に変える
表部品1を初期化終了する
終わり

表部品1のセルがクリックされた時の手順
ラベル1の内容は、「[イベントの行],[イベントの列]を選択中」
テキスト1の内容は、表部品1の選択セルの内容
表部品1の選択行を表示。

終わり

テキスト1のキーが入力された時の手順
もしイベントのキー番号が13なら
表部品1の選択セルの内容は、テキスト1の内容
もし終わり

終わり
終わり
——————————ここまで

プロデルでCSVファイルを扱うとき

プロデルでCSVファイルを扱うときにデータ表というものがあり
私はデータ表=スープレッドシートの表だろうと自分勝手に考え、
自分なりの方法で色々とやってみたのだけど全く上手くいかない。
これでは自分が作りたいものが作れない・・困った

結局のところデータ表を一覧にして、レコード毎に取得すれば
出きることが分かったので、こんなサンプルを書いてみた。

データは郵便番号の東京都のデータを[data.csv]として使用した。

郵便番号データダウンロード – 日本郵便
www.post.japanpost.jp/zipcode/download.html
各種郵便番号データのダウンロードはこちらからどうぞ。

プロデルCSV読み込み01

レコード番号を入れてみる
CSVから読み取った

——————————ここから

/*
CSVファイルを読み込み検索した表示(画面)
*/

新しいウィンドウを表示する
待機する

新しいウィンドウとは
     ウィンドウを継承する
     はじめの手順
          初期化する
          ーー貼り付けた部品に対する操作をここに書きます
          //行番号=1
          データ表を作ってデータとする
          データへ「data.csv」から読み込む
          一覧は、データの一覧

     終わり
     初期化する手順
     ーー自動生成された手順です。ここにプログラムを書き加えても消える場合があります
     この内部領域大きさを{470,434}に変える
     この内容を「メイン画面」に変える
     テキスト領域1というテキスト領域を作る
          その位置と大きさを{36,274,404,85}に変える
          その移動順を17に変える
     終了ボタン2というボタンを作る
          その位置と大きさを{373,386,67,25}に変える
          その内容を「終了」に変える
          その移動順を15に変える
     行番号というテキストを作る
          その位置と大きさを{162,37,60,19}に変える
          その移動順を8に変える
     検索ボタン1というボタンを作る
          その位置と大きさを{255,32,46,20}に変える
          その内容を「検索」に変える
          その移動順を7に変える
     ラベル1というラベルを作る
          その位置と大きさを{36,36,65,12}に変える
          その内容を「レコード番号」に変える
          その移動順を16に変える
     都道府県ラベルというラベルを作る
          その位置と大きさを{36,68,53,12}に変える
          その内容を「都道府県」に変える
          その移動順を1に変える
     住所ラベルというラベルを作る
          その位置と大きさを{36,96,29,12}に変える
          その内容を「住所」に変える
          その移動順を2に変える
     番地ラベルというラベルを作る
          その位置と大きさを{36,131,29,12}に変える
          その内容を「番地」に変える
          その移動順を3に変える
     都道府県かなラベル2というラベルを作る
          その位置と大きさを{36,165,73,12}に変える
          その内容を「都道府県かな」に変える
          その移動順を4に変える
     住所かなラベル2というラベルを作る
          その位置と大きさを{36,198,49,12}に変える
          その内容を「住所かな」に変える
          その移動順を5に変える
     番地ラベル2というラベルを作る
          その位置と大きさを{36,230,49,12}に変える
          その内容を「番地かな」に変える
          その移動順を6に変える
     テキスト1というテキストを作る
          その位置と大きさを{162,68,98,19}に変える
          その移動順を9に変える
     テキスト2というテキストを作る
          その位置と大きさを{162,96,279,19}に変える
          その移動順を10に変える
     テキスト3というテキストを作る
          その位置と大きさを{162,131,279,19}に変える
          その移動順を11に変える
     テキスト4というテキストを作る
          その位置と大きさを{162,165,98,19}に変える
          その移動順を12に変える
     テキスト5というテキストを作る
          その位置と大きさを{162,198,279,19}に変える
          その移動順を13に変える
     テキスト6というテキストを作る
          その位置と大きさを{162,230,279,19}に変える
          その移動順を14に変える
終わり

     検索ボタン1がクリックされた時の手順
          行番号1=行番号の内容
          行番号1の内容を表示する
          レコードは、一覧(行番号1)
          //レコードを報告する

          テキスト1の内容を「[レコード(7)]」に変える
          テキスト2の内容を「[レコード(8)]」に変える
          テキスト3の内容を「[レコード(9)]」に変える
          テキスト4の内容を「[レコード(4)]」に変える
          テキスト5の内容を「[レコード(5)]」に変える
          テキスト6の内容を「[レコード(6)]」に変える
          テキスト領域1の内容を「[レコード]」に変える

     終わり

終了ボタン2がクリックされた時の手順
          終了     
     終わり
終わり

-—————————ここまで

ここ数日プロデルを学習中

サンプルプログラムを元に
こんなサンプルを作ってみた。

SQLiteを操作するサンプル

// プロデルからSQLiteデータベースを操作する例(改造-画面追加)

——————————ここから

// プロデルからSQLiteデータベースを操作する例(改造-画面追加)
// プロデルサンプル例に画面とボタン、テキスト蘭を追加
//SQLiteを利用するには、System.Data.SQLite.dllが必要です

「Produire.Data.SQLite.dll」を利用する
SQLiteというSQLiteデータベースを作る

SQLiteのデータソースを、「database.db」に変える
SQLiteへ接続する

メイン画面を表示する
待機する

メイン画面とは
ウィンドウを継承する
はじめの手順
初期化する
ーー貼り付けた部品に対する操作をここに書きます
終わり
初期化する手順
ーー自動生成された手順です。ここにプログラムを書き加えても消える場合があります
この内部領域大きさを{472,429}に変える
この内容を「メイン画面」に変える
メモメモというテキスト領域を作る
その位置と大きさを{25,213,249,79}に変える
その移動順を4に変える
そのドラッグドロップを×に変える
ボタン1というボタンを作る
その位置と大きさを{320,67,61,28}に変える
その内容を「テーブルを作成する」に変える
その移動順を3に変える
そのドラッグドロップを×に変える
テキスト1というテキストを作る
その位置と大きさを{71,66,134,19}に変える
その移動順を5に変える
そのドラッグドロップを×に変える
テキスト2というテキストを作る
その位置と大きさを{71,110,134,19}に変える
その移動順を1に変える
そのドラッグドロップを×に変える
テキスト3というテキストを作る
その位置と大きさを{71,156,134,19}に変える
その移動順を2に変える
そのドラッグドロップを×に変える
ボタン2というボタンを作る
その位置と大きさを{320,110,61,28}に変える
その内容を「データを取得する」に変える
その移動順を5に変える
そのドラッグドロップを×に変える
ボタン3というボタンを作る
その位置と大きさを{320,151,61,28}に変える
その内容を「データを追加する」に変える
その移動順を6に変える
そのドラッグドロップを×に変える
ボタン4というボタンを作る
その位置と大きさを{320,195,61,28}に変える
その内容を「データを更新する」に変える
その移動順を7に変える
そのドラッグドロップを×に変える
ボタン5というボタンを作る
その位置と大きさを{320,239,61,28}に変える
その内容を「データを削除する」に変える
その移動順を8に変える
そのドラッグドロップを×に変える
ボタン6というボタンを作る
その位置と大きさを{320,287,61,28}に変える
その内容を「テーブルを破棄する」に変える
その移動順を9に変える
そのドラッグドロップを×に変える
ボタン7というボタンを作る
その位置と大きさを{25,380,111,28}に変える
その内容を「SQLiteから切断する」に変える
その移動順を10に変える
そのドラッグドロップを×に変える
終わり

ボタン1がクリックされた時の手順
テキスト1を、クリアする
テキスト1へ「テーブルを、作成する手順」を、先頭へ挿入する
メモメモへ「データを、追加する手順」を、先頭へ挿入する
ボタン1の有効を「×」に変える

//テーブルを、作成する手順
ーーテーブルの作成
SQLiteで「CREATE TABLE 楽曲 (
曲名 TEXT,
アーティスト TEXT,
アルバムID NUMBER);」を実行する
終わり

ボタン2がクリックされた時の手順
テキスト1を、クリアする
テキスト1へ「データを、取得する手順」を、先頭へ挿入する
メモメモへ「データを、追加する手順」を、先頭へ挿入する
ボタン2の有効を「×」に変える

//データを、取得する手順
ーーデータの取得
SQLiteから「SELECT 曲名,アーティスト FROM 楽曲」を取得して結果とする
//「初期状態」として結果の内容を情報アイコンで表示する
メモメモをクリアする
メモメモへ「[結果]」を、先頭へ挿入する

終わり

ボタン3がクリックされた時の手順
//データを、追加する手順
テキスト1を、クリアする
テキスト1へ「データを、追加する手順」を、先頭へ挿入する
メモメモへ「データを、追加する手順」を、先頭へ挿入する

ーーデータの追加
SQL文は、「INSERT INTO 楽曲 (曲名,アーティスト) VALUES (?, ?)」
バインド値は、{「I am your singer」、「サザンオールスターズ」}
SQL文をバインド値としてSQLiteで実行して、件数1とする
テキスト2へ「[バインド値(1)]」を、先頭へ挿入する

バインド値は、{「勝手にシンドバット」、「サザンオールスターズ」}
SQL文をバインド値としてSQLiteで実行して、件数2とする
テキスト3へ「[バインド値(1)]」を、先頭へ挿入する

ーー内容の確認
SQLiteから「SELECT 曲名,アーティスト FROM 楽曲」を取得して、結果とする
「追加後」として「[件数1+件数2]件、追加しました。[改行][結果の内容]」を情報アイコンで表示する
メモメモをクリアする
メモメモへ「[結果]」を、先頭へ挿入する

終わり

ボタン4がクリックされた時の手順
テキスト1を、クリアする
テキスト1へ「データを、更新する手順」を、先頭へ挿入する
メモメモをクリアする
メモメモへ「データを、追加する手順」を、先頭へ挿入する

//データを、更新する手順
ーーデータの更新
SQL文は、「UPDATE 楽曲 SET 曲名=? WHERE 曲名=?」
バインド値は、{「I AM YOUR SINGER」、「I am your singer」}
SQL文をバインド値としてSQLiteで実行して、件数とする

ーー内容の確認
SQL文は、「SELECT 曲名,アーティスト FROM 楽曲 WHERE 曲名=?」
バインド値は、{「I AM YOUR SINGER」}
SQLiteからSQL文をバインド値として取得して、結果とする
//「更新後」として「[件数]件、更新しました。[改行][結果の内容]」を情報アイコンで表示する
メモメモをクリアする
メモメモへ「[結果]」を、先頭へ挿入する
終わり

ボタン5がクリックされた時の手順
テキスト1を、クリアする
テキスト1へ「データを、削除する手順」を、先頭へ挿入する
メモメモへ「データを、追加する手順」を、先頭へ挿入する

//データを、削除する手順
SQLiteから「SELECT 曲名,アーティスト FROM 楽曲」を取得して、結果とする
ーーデータの削除
SQL文は、「DELETE FROM 楽曲 WHERE アーティスト=?」
バインド値は、{「サザンオールスターズ」}
SQL文をバインド値としてSQLiteで実行して、件数とする

ーー内容の確認
SQLiteから「SELECT 曲名,アーティスト FROM 楽曲」を取得して、結果とする
//「削除後」として「[件数]件、削除しました。[改行][結果の内容]」を情報アイコンで表示する
メモメモをクリアする
メモメモへ「削除しました。」を、先頭へ挿入する
終わり

ボタン6がクリックされた時の手順
テキスト1を、クリアする
テキスト1へ「テーブルを、破棄する手順」を、先頭へ挿入する
メモメモをクリアする
メモメモへ「テーブルを、破棄する手順」を、先頭へ挿入する
ボタン6の有効を「×」に変える

//テーブルを、破棄する手順
ーーテーブルの破棄
SQLiteで「DROP TABLE 楽曲」を実行する
終わり

ボタン7がクリックされた時の手順
SQLiteから切断する
終了
終わり

テキスト領域が内容が変化した時の手順
テキスト1を、クリアする
メモメモへ「テーブルを、破棄する手順」を、先頭へ挿入する

終わり
終わり

——————————ここまで