0

この INSERT クエリは、VS20012、SQL Server 2008 R2 内で完全に機能します。しかし、VB コードビハインドから実行しようとすると、実行後に変数に値を割り当てようとしている行で DBnull 変換エラーが発生します。

挿入も成功しませんが、Try Catch がエラーになることもありません。接続が閉じられた後でも。非常に奇妙な振る舞い。

sqSql = "INSERT INTO tblLogging (vein, num, descripBaseFileName, " & _
        " csvBaseFileName, baseActive, diagActive) " & _
        " OUTPUT INSERTED.keyID" & _
        " VALUES (@vein, @num, @cnfFil, @csvFil, 'True', 'False')"

command3.Parameters.AddWithValue("@vein", vein1)
command3.Parameters.AddWithValue("@num", veinNum)
command3.Parameters.AddWithValue("@cnfFil", cnfFil)
command3.Parameters.AddWithValue("@csvFil", csvFil)

command3.Parameters.Add("@keyID", SqlDbType.Int)
command3.Parameters("@keyID").Direction = ParameterDirection.Output

Try
    command3.CommandText = sqSql

    oCnn.Open()
    command3.ExecuteScalar()
    oCnn.Close()

ここにエラーがあります:

    **Dim retkeyID As Integer = command3.Parameters("@keyID").Value**

Catch ex As Exception
    Throw ex

End Try

私が間違っていることについてのアイデアは大歓迎です。

4

1 に答える 1