0

次のコードを使用して、DB から DateTime を取得するメソッドがあります。

NpgsqlCommand cmd = ActiveConnection.CreateCommand(); cmd.CommandText = "SELECT NOW()";

オブジェクト obj = cmd.ExecuteScalar(); (DateTime)obj を返します。

結果を DateTime に変換するときに、InvalidCastException がスローされることがあります。結果 (obj) が null になる場合があります。なぜこれが起こっているのですか?スクラッチをどこから始めるかについて何か考えはありますか?

TIA ホセ・タバレス

4

1 に答える 1

1

これは、postgresql に NOW() 関数がないためです。代わりにこれを使用してください:

//create NpgsqlCommand instance, cmd
cmd.CommandText = "select current_timestamp";
DateTime dt;
DateTime.TryParse(cmd.ExecuteScalar().ToString(), out dt);
return dt;
于 2010-11-17T21:03:47.827 に答える