Insert Class - kura2391/vbsql GitHub Wiki
簡単な例
'conn ... VbSql.Connection クラス
Dim ins As New Vbsql.Insert(conn)
'INSERT INTO test(text) VALUES('insert test')
ins.into("test")
ins.value("text","insert test")
insert.execute()
- value句では、第一引数に列名、第二引数にその値を入れます。
- NULLを挿入したい場合、第二引数にDBNull.Valueを入れます。
- ほかの句はexecute()の前に記述します。
value(values)句
value句は3通りの書き方があります。
その1
'conn ... VbSql.Connection クラス
Dim ins As New Vbsql.Insert(conn)
'INSERT INTO test(text,number) VALUES('ins',990)
ins.into("test")
ins.value("text","insert test")
ins.value("number","990")
insert.execute()
- 第一引数に列名、第二引数にその値を入れます。
その2
'conn ... VbSql.Connection クラス
Dim ins As New Vbsql.Insert(conn)
'INSERT INTO test(text,number) VALUES('ins',NULL)
ins.into("test")
dim ht as new Hashtable()
ht("text") = "insert test"
ht("number") = DBNull.Value
ins.value(ht)
insert.execute()
- Hashtableを作成し、要素名とその中身を、列名とその内容に対応させます。
- NULLを入れたい場合、DBNull.Valueを入れます。
その3
'conn ... VbSql.Connection クラス
Dim ins As New Vbsql.Insert(conn)
'INSERT INTO test(text,number) VALUES
'('ins',990),
'('ins',1000),
'('ins',1010)
ins.into("test")
dim dt as new Datatable()
dt.Columns.Add("text")
dt.Columns.Add("number")
For i as Integer = 0 to 2
Dim row as DataRow = dt.NewRow()
row("text") = "ins"
row("number") = 990 + i * 10
dt.rows.add(row)
Next
ins.values(dt)
insert.execute()
- 複数行を同時にInsertしたい場合に有効です。
- 「values」です。「s」を忘れないでください
- DataTableにデータを入力していきます。
- NULLを入れたい場合、DBNull.Valueを入れてください
SELECT SCOPE_IDENTITY()
lastInsertId()とも言われます
'conn ... VbSql.Connection クラス
Dim ins As New Vbsql.Insert(conn)
'INSERT INTO test(text) VALUES('insert test');SELECT SCOPE_IDENTITY();
ins.into("test")
ins.value("text","insert test")
ins.lastInsertId()
Dim id as integer = insert.execute()
- lastInsertId()を入れることで、insertした行の、自動採番の値が返ってきます。