2011-11-09 3 views
1

"あまりにも多くのフィールドが定義されていません"という例外を避けるため、DataSetに行を追加したいが、特定の行数だけを追加したい。これは私がこれまで試してみました何をされていますOleDbDataAdapterのFillメソッドを使用して、決められた数の行だけを追加する方法はありますか?

OleDbCommand command = new OleDbCommand(@"SELECT TOP 100 FROM [" + SheetName + "]", connection); 

例外:SELECT文では、スペルミスや不足している予約語または引数名を含み、または句読点が正しくありません。

OleDbCommand command = new OleDbCommand(@"SELECT * FROM [" + SheetName + "] LIMIT 100", connection); 

例外:FROM句の構文エラーです。あまりにも多くのフィールドが定義された:

はまた、私は別の site

OleDbCommand command = new OleDbCommand(@"SELECT TOP 100 * FROM [" + SheetName + "]", connection); 

Exceptionから得たことを、これを試してみました。

他に何を試してもわかりません。

+0

なぜ大括弧 "[]"を挿入しようとしていますか? –

答えて

2

まあ、私はあなたがを制限することにより、非常に多くのフィールドている問題を解決することはできないと考えています。

しかし、フィールドを制限することができます。あなたの最初の試行での問題

TOP 100 FROM 

は構文が有効でないことです。あなたがフィールドを制限したい場合は、明示的に一般的には、この

SELECT TOP 100 ColumnName1, ColumnName2, ColumnName3 from .... 

ようれる列名を使用する必要がある、私は選択*が、常にあなたが必要とする正確に列を使用することをお勧めします決してないだろう。

+0

あなたは正しいです。それは私の問題を解決しませんでした!これをどうすれば解決できますか? – Soph

+0

「Columname1、Columname2 FROM [....」を選択し、2つの列名で開始し、それが機能するかどうかを確認するだけです。そこから移動してください。 – Pleun

+0

スプレッドシートに空の列名がある可能性があります。 – Pleun

関連する問題