0

「AVAILABLEDATE」は DATE 型の列です。

Toad を介してテーブルにクエリを実行し、結果を取得できます。ただし、(Winforms/C#/dotConnect) コードでは機能しません。

ocmd.Parameters.Add("AVAIL_DATE", getDateToQuery());

問題は日付を渡す方法にあると確信しています:

private DateTime getDateToQuery() {
  DateTime candidateVal = dateTimePickerScheduleDate.Value;
  if (candidateVal.Equals(null)) {
    candidateVal = DateTime.Now;
  }
  return candidateVal;
}

...しかし、日付値を強制的にOracleが認識する形式にする方法がわかりません。

4

2 に答える 2

4

パラメータタイプを追加してみてください:

OracleParameter p1 = new OracleParameter("AVAIL_DATE", OracleDbType.Date);
p1.Value = getDateToQuery();
ocmd.Parameters.Add(p1);

また、パラメータを順番に指定してください。最後に Oracle を使用したとき、パラメータの名前が無視されたことを覚えています。

于 2012-04-23T17:57:38.657 に答える
0

これは機能しますが、それが最善の方法であるかどうかはわかりません。

int iFromYear = dateTimePickerScheduleDate.Value.Year;
int iFromMonth = dateTimePickerScheduleDate.Value.Month;
int iFromDay = dateTimePickerScheduleDate.Value.Day;
. . .
ocmd.Parameters.Add("AVAIL_DATE", new DateTime(iFromYear, iFromMonth, iFromDay));
于 2012-04-23T18:10:49.613 に答える