私はVS2008 DataSetsを使用してデータベースに接続しています。 (:日時?すなわちタイプ)c#(3.5)TableAdapterを使用してNULL DateTime値をデータベースに読み込みます。
MSDN Datasetsは断固状態:
NULL可能またはNULL可能構造は、現在のデータセットでサポートされていないデータベース内のテーブルのいずれかは、ヌルを許容datetime列を含んでいます。
しかしTableAdatersがNULL可能タイプをサポートすることができますTableAdapters状態のMSDNのサイトで:
TableAdaptersはNULL可能なタイプ(Tの)空白可能とTをサポートして?。 null可能な型の詳細については... C#のnull可能な型の詳細については、「Nullable型の使用(C#プログラミングガイド)」を参照してください。
私は混乱しています!ヌルのDateTimeを返し、私は「AllowDBNull =真」に違反している列のプロパティを設定しているデータセットデザイナで
が、私はTableAdapterのクエリを実行するたびに(UDF SELECT * FROM)私は、次の例外を取得:「ArguementOutOfRangeException:年、Month、およびDayのパラメータは、表現できないDateTimeを記述します。
私が持っていた考えの1つは、null値を正しく処理するためにSystem.ObjectにColumnの型を変更してから、私自身のコードで変換を行うことでしたが、同じ例外が発生しました。
このquestionは、クエリが返されたらnullを処理する方法を提案しますが、クエリを返すことはできません。
TableAdapterまたはDatasetを変更して、データベースのNULLを処理できるテーブルでクエリを実行できるようにするにはどうすればよいですか?私が見つけた
質問を表示してください。それはちょうど働くべきです。 –
私はクエリが動作すると思う、私は問題が自動的に生成されたTableAdapter/Datasetは、nullのDateTimeを相互運用することはできませんが、ちょうど例外を提起すると思います。 –
いいえ、生成されたデータ型はnull値の列を正しく処理できます。 –