2009-06-24 15 views
2

私はADO.NET OLeDBドライバを使用してExcelファイルに接続しています。 接続文字列にHDR = NOがあります(つまり、Excelファイルにヘッダーがありません)。ADO.NETでado.netを使用してデータを更新すると、SQL文の列を参照する方法は?

Excelの更新ステートメントを実行して、Excelファイル内の列を参照します。 以下のSQLクエリは、次のエラーをスローします。1つまたは複数の必須パラメータに値が指定されていません。ここで

update [fact$] set AC='test123' where DO='xxxyyy' 

'AC' と 'DO' Excelシート '事実' に関する各列があります。

答えて

2

限り、私の迅速な研究が発見したとして、Jetエンジンは、Fで始まる列名を割り当て、すなわちF1、F2、F3など

あなたは、その後のGetSchemaTableを呼び出し、OleDataReaderを作成することで、独自のテストを行うことができます()メソッドを使用して列について調べます。

+0

ありがとう、私はF1 F2 F3のように見えることに同意します...デフォルトパターンです。ワークブックにたくさんの列があると、それはかなり推測の仕事になります。 ジェットエンジンがExcelのように列を受け入れることができれば素晴らしいでしょう。つまり、A..Z、BA..BZ、CA..CZなど – dotnetcoder

+0

は間違っているかもしれませんが、あなたはカスタムスキーマファイルを作成できます列がどのように見えるかを事前に知っている場合は、データプロバイダ。 –

関連する問題