データセットはデータ アダプターの「入力」に使用できますが、クエリを実行するときと同じように、通常は DataTable を使用しており、1 つの結果セットしか期待していません。そうは言っても、構造を取得するためだけに、テーブルを事前にクエリします...
のようなものyourTable(s) where 1=2 から何でも選択
プレ>これにより、
を実行すると、期待される結果列が得られますDataTable myTable =new DataTable();YourAdapter.Fill( myTable );
プレ>これで、レコードが返されないためにコンテンツ サイズに失敗しないローカル テーブルができたので、問題の 1 つの列に明示的に移動して、必要に応じてそのデータ型/サイズ情報を設定できます...
myTable.Columns["NameOfProblemColumn"].WhateverDataType/Precision =必要なものは何でも...
プレ>今、あなたのローカルスキーマは正当であり、問題のある列はその精度で識別されます.ここで、実際にデータを返す 1=2 ではなく、適切な where 句を使用して適切なクエリを入力します...最初のパスには実際の行がないため、
myTable.Clear() を実行する必要さえありませんコード> 行をクリアするには...クエリと
dataAdapter.Fill()
を再実行するだけです .同じ問題をシミュレートするためのデータの問題がないため、実際には試していませんが、理論的なプロセスでは、すべての列を明示的に通過する必要はありません...問題を引き起こす可能性のあるいくつかの列だけ.