Einzelnen Beitrag anzeigen

Benutzerbild von Jens Schumann
Jens Schumann

Registriert seit: 27. Apr 2003
Ort: Bad Honnef
1.644 Beiträge
 
Delphi 2009 Professional
 
#1

Exceltabelle über ADO und FieldType festlegen

  Alt 31. Mär 2004, 13:20
Hallo,
ich habe das Problem, dass ich mehrere Exceldateien in eine Interbase(Firebird RC 1.5) einlesen muss.
Das öffnen mit ADO ist kein Problem. Die Werte in Interbase zu spielen auch nicht.
So könnte z.B. der ConnectionString aussehen:
Code:
sExcelConnectionString ='Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\Exceldatei.xls;Extended Properties=Excel 8.0;Persist Security Info=False';
und so das SQL-Statement SELECT * FROM [Tabelle1$] Das Problem ist, dass wenn ich über ADO ein Excelarbeitsblatt als Datenbank öffne bestimmt ADO den FieldType. Ich vermute mal das geschieht über den ersten Datensatz. Wenn die Tabelle aber wie folgt auf gebaut ist, kommt das Problem:
Code:
A   B    C
EX1  1234  Ein Text
VBN A400  Noch ein Text
Wenn ADO den FieldType über den ersten Datensatz bestimmt wird Spalte B zum Type Double(ADO nimmt wirklich Double anstatt Integer). Wenn jetzt der zweite Datensatz gelesen wird kommt es bei Spalte B zum einem Fehler. Es steht ja ein Text im zweiten Datensatz in Spalte B.

Jetzt die Frage: Wie kann ich die Fieldtypen bestimmen.

Dann würde ich von vornherein sagen dass Spalte B einen String enthält.
I come from outer space to save the human race
  Mit Zitat antworten Zitat