2
  1. Null に設定できる、DateTime 型の modifieddate という変数があります。
  2. データリーダーを使用して変数に入力し、リーダーが空の場合は値を何も設定しません
  3. さらに変数を使用すると、値を提供していないというストア プロシージャの苦情が表示されます。「プロシージャまたは関数 'tHistory_Insert' には、指定されていないパラメーター '@modifieddate' が必要です」

質問: 日付が空のときに null 値をストア プロシージャに渡す方法についてのアイデアはありますか?

ステップ1

Public modifieddate As Nullable(Of DateTime)

ステップ2

If IsDBNull(dr("modifieddate")) = False Then

     modifieddate = DateTime.Parse(dr("modifieddate"))
Else

     modifieddate = Nothing
End If

ステップ 3

command.Parameters.Add("@modifieddate", SqlDbType.DateTime).Value = modifieddate
command.ExecuteNonQuery()
4

1 に答える 1

5

何もない場合は、DBNull.Value を渡す必要があると思います。このようなもの:

If modifieddate Is Nothing then
  command.Parameters.Add(...).Value = DBNull.Value
Else
  command.Parameters.Add(...).Value = modifieddate
End If
于 2012-08-15T14:50:56.313 に答える