これを書くために、前回まで前フリネタがあった。


これが最後。


SQLでいろいろとデータをinsertする場合は、これが重宝する。


格納するテーブルを[DBID],[DBNAME],[DBPOINT]とし、テーブルの名前を[SampleData]とすると

これに合わせてクラスを定義する。

Public class SQLinsert()
  Public ID as string
  Public NAME as string
  Public POINT as integer

  Public Sub New()

  End Sub
  Public Sub New(ByVal SET_ID as string, ByVal SET_NAME as string, ByVal SET_POINT as string)
    ID = SET_ID
    NAME = SET_NAME
   
    Dim Temp as integer
    If Integer.TryParse(SET_POINT, Temp) then
      POINT = Temp
    Else
      POINT = 0
    End
  End Sub

  Public Function SQL()
    Dim ANSWER as string = "('" & ID & "','" & NAME & "','" & "','" & POINT & "')"
    Return ANSWER
  End Function
End class


-----------------

じゃ、代入していきます。

サンプルデータとしては

ID 001 のA君がいて、70点。ID 002 のBさんがいて、60点。

ID 003のCさんがいて、100点。ID 004のD君が97点。


があったら、

Dim insertdata(3) as SQLinsert()

と宣言します。配列です。クラスも配列が使えます。

で、

insertdata(0) = new SQLinsert("001","A",70)
insertdata(1) = new SQLinsert("002","B",60)
insertdata(2) = new SQLinsert("003","C",100)
insertdata(3) = new SQLinsert("004","D",97)

で格納できます。


あとはSQL文を出しましょう。クラスの中にSQLという関数が出します。


なので、

"insert into SampleData(DBID,DBNAME,DBPOINT) values" & insertData(0).SQL() & "," & insertData(1).SQL() & "," & insertData(2).SQL() & "," & insertData(3).SQL() & ";"


こんな感じSQLが出せます。


クラスって、定義することによって、変数や配列、関数をまとめることができる非常に便利な機能なんです。