私LOGは3つの列を持つテーブルを使用しています:
Login nvarchar(50)Date intLogout nvarchar(50)
Logout列に値を入力しない場合は、NULL保存する必要があります。しかし、私にとっては、として保存され" "ます。
スクリーンショット 1 にテーブル定義を、スクリーンショット 2 にテーブル データを示します。


私LOGは3つの列を持つテーブルを使用しています:
Login nvarchar(50)Date intLogout nvarchar(50) Logout列に値を入力しない場合は、NULL保存する必要があります。しかし、私にとっては、として保存され" "ます。
スクリーンショット 1 にテーブル定義を、スクリーンショット 2 にテーブル データを示します。


INSERT INTO log (Login, Date, Logout) VALUES(...) を使用している INSERT クエリで、Logout フィールドの値として "" を使用している可能性があります。挿入ステートメントをチェックして、この間違いを犯していないことを確認してください。
このようにしてみてください
if (!string.IsNullOrEmpty(Impdate.ToString()))
{
cmd.Parameters.Add("@Logout", SqlDbType.Date).Value = Impdate;
}
else
{
cmd.Parameters.Add("@Logout", SqlDbType.Date).Value = "";
}
このコードを試してください。
if (!string.IsNullOrEmpty(Impdate.ToString()))
{
cmd.Parameters.Add("@Logout", SqlDbType.Date).Value = Impdate;
}
else
{
cmd.Parameters.Add("@Logout", SqlDbType.Date).Value = SqlDateTime.Null;
}