ここで問題が発生していますが、どこが間違っているのかわかりません。
問題は、挿入中に有効な整数値を挿入することですが、値を取得すると、次の行で DBNull 例外が発生します。
iTestValue = rTest("myscore")
完全なコードは次のとおりです。
Dim nCn As SQLiteConnection
ncn = New SQLiteConnection("Data Source=:memory:")
ncn.Open()
Dim cmdCreate1 As New SQLiteCommand(nCn)
cmdCreate1.CommandText = "CREATE TABLE mytable (mytext TEXT,myscore INTEGER)"
cmdCreate1.ExecuteNonQuery()
cmdCreate1.CommandText = "CREATE INDEX idx_mytable_myscore ON mytable (myscore)"
cmdCreate1.ExecuteNonQuery()
Dim nTA As SQLiteTransaction
nTA = nCn.BeginTransaction
Dim nCmdIns As New SQLiteCommand("INSERT INTO mytable (mytext,myscore) VALUES (?,?)", nCn)
Dim l&
For l = 1 To UBound(uNPhones)
nCmdIns.Parameters.Clear()
nCmdIns.Parameters.Add(ExpandCat(uNPhones(l).Text), DbType.String)
nCmdIns.Parameters.Add(uNPhones(l).Score, DbType.Int32)
nCmdIns.ExecuteNonQuery()
Application.DoEvents()
Next l
nTA.Commit()
Dim nSelTest As New SQLiteCommand("SELECT * FROM mytable", nCn)
Dim rTest As SQLiteDataReader
rTest = nSelTest.ExecuteReader
Dim iCountTest As Integer
iCountTest = 0
Do While rTest.Read
Dim iTestValue As Integer
iTestValue = rTest("myscore")
Dim sTestValue As String
sTestValue = rTest("mytext")
iCountTest += 1
Loop