DbParameterとしてクエリにDateTime値を渡す際に問題があります。 DateTime値の時間部分が削除されたようです。ここでDateTime値をパラメータとしてOleDbCommandに渡す
は、C#のサンプルコードです:
DbProviderFactory _factory = OleDbFactory.Instance;
DbCommand cmd = _factory.CreateCommand();
cmd.CommandText = "INSERT INTO SomeTable (SomeDateField) VALUES (?)";
DbParameter p = _factory.CreateParameter();
p.ParameterName = ""; // Not necessary
p.Value = DateTime.Now; // assume Time != 00:00:00
p.DbType = DbType.Date; // DateTime and DateTime2 don't work
cmd.Parameters.Add(p);
私の問題は、日付パラメータは、それが時間の一部だとSomeDateFieldは、常に時間として00:00:00があるとのアクセスに到達していないようだということです。 SomeDateField
がDateTime
ないDate
であるために確認してください、あなたのデータ型を作る
cmd.CommandText = "INSERT INTO SomeTable (SomeDateField) VALUES (#" + aDateTimeString + "#)";
データ型とは何ですか?データベースのテーブルの列の?また、 'DbType.DateTime'は何を意味しますか? –
DbType.DateTimeとDbType.DateTime2を使用すると、コマンドを実行するときに「条件式でデータ型が一致しません」という例外が発生します。 –
私はAccessをバックエンドとして使用しているので、列データ型はDateですが、.NETのDateTimeと同等です。時間部分も含めることができます。 –