0

「入力文字列が正しい形式ではありませんでした」という例外エラーが発生します。「メソッドの引数が正しい形式であることを確認してください。文字列をDateTimeに変換するときは、文字列を解析して日付を取得してから、各変数をDateTimeオブジェクトに入れてください。」

このコードの最後の行を指しています。

cnaIntakeVSOutputDetail_Intake.Add(new IntakeVsOutput(
facility,
UnitRepository.Units(facility).SingleOrDefault(u => u.Code.Equals(reader.To("UNIT_CODE", ""))),
new Patient()
{
     Account = reader.To("PATIENT_ID", ""),
     MRN = reader.To("MRN", ""),
     Name = reader.To("NAME_FULL", ""),
     Room = reader.To("ROOM_BED", ""),
 },
     reader.To("INFO", ""),
     Convert.ToDateTime(reader["TRDATE"]),
     Convert.ToInt32(reader["MENU_ID"]),
     Convert.ToInt32(reader["VALUE"]),
     null, null, null));
4

3 に答える 3

3

reader["TRDATE"]Convert.ToDateTime値に変換できる文字列が含まれていませんDateTime

これは、空の文字列orDBNull.Valueまたは。が原因である可能性がありますnull

于 2012-06-14T13:59:59.477 に答える
0

DateTime.TryParse を試してください:

string dateString;
 DateTime dateValue;
 DateTime.TryParse(dateString, out dateValue);
于 2012-06-14T14:02:48.467 に答える
0

まず、TRDATE列に値が含まれていることを確認する必要があります。そうしないと、入力が正しい形式ではないというエラーが発生します。そのためには、

string.IsNullorEmpty(reader["TRDATE"].ToString())

それ以外の場合は、値を解析する必要があります。それ以外の場合は、デフォルト値を設定するか、null のままにして型を返します。

于 2012-06-14T15:13:02.620 に答える