AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Probleme mit ADOTable
Thema durchsuchen
Ansicht
Themen-Optionen

Probleme mit ADOTable

Ein Thema von Susanne · begonnen am 13. Sep 2004 · letzter Beitrag vom 13. Sep 2004
Antwort Antwort
Susanne

Registriert seit: 21. Mai 2004
Ort: Lage
232 Beiträge
 
Delphi 2005 Professional
 
#1

Probleme mit ADOTable

  Alt 13. Sep 2004, 09:10
Hallo,

ich hab ein Problem mit dieser Funktion. Ich möchte in der Tabelle test1 alle Werte aus der Spalte sSubject auslesen und in eine Datei schreiben. Dies tut er aber irgendwie nicht richtig. An meinem Rechner macht er es allerdings und am anderen nicht. Er schreibt noch in die LogDatei, dass er die Spalte einliest (s. (1)) und der nächste Eintrag in die LogDatei ist bei (2), dass ein Fehler beim Bearbeiten der TAbelle aufgetreten ist. Eintrag (3) kommt auch nicht in der LogDatei an, also müsste er die Tabelle geöffnet haben, oder?

Woran kann das nun liegen?


Delphi-Quellcode:
function DBEintraegeInStringListeSortieren():Boolean;
   var
      posx : Integer;
      s : String;
      zahl, code: Integer;
   begin
      try
         //alle TabellenEinträge aus sSubject in Stringliste schreiben
         frmLueckenSucher.ADOTable.TableName:= 'test1';
 (1) uLogFile.LogAdd(LogDatei, 'Einlesen der sSubject-Spalte', true);
         frmLueckenSucher.ADOTable.Open;
         if not frmLueckenSucher.ADOTable.Active then
 (3) uLogFile.LogAdd(LogDatei, 'Tabelle konnte nicht geöffnet werden', true)
         with frmLueckenSucher.ADOTable do
            begin
               try
                  First;
                  uLogFile.LogAdd(LogDatei, 'erster Datensatz', true);
                  //solange nicht am Ende
                  while not Eof do
                     begin
                        posx:= pos(':',frmLueckenSucher.ADOTable.FieldValues
                               ['sSubject']);
                        if posx > 0 then
                           begin
                              s:= '';
                              s:= copy(frmLueckenSucher.ADOTable.FieldValues
                                  ['sSubject'],posx+1,Length(
                                  frmLueckenSucher.ADOTable.FieldValues['sSubject']));
                              s:= Trim(s);
                              if length(s) < 6 then
                                 next;
                              if not (s='') then
                                 begin
                                    val(s,zahl, code);
                                       if code > 4 then
                                          uLogFile.LogAdd(GesamteLuecken, Trim(copy
                                               (s,1,code-1)), true);
                                       if code = 0 then
                                          uLogFile.LogAdd(GesamteLuecken, Trim(inttoStr
                                               (zahl)), true);
                                  end;
                           end;
                        Next;
                     end;
               except
                  ShowMessage('Fehler');
               end;
            end;
         uLogFile.LogAdd(LogDatei, 'mit ganzer Tabelle fertig', true);
         LueckenListe.LoadFromFile(GesamteLuecken);
         //dann Stringliste aufsteigend sortieren
         LueckenListe.Sort;
         uLogFile.LogAdd(LogDatei, 'Liste sortiert', true);
         Result:= True;
      except
         Result:= False;
 (2) uLogFile.LogAdd(LogDatei, 'Fehler beim Bearbeiten der Tabelle', true);
      end;
  end;
Susanne
  Mit Zitat antworten Zitat
Benutzerbild von mikhal
mikhal

Registriert seit: 11. Sep 2003
Ort: Linz am Rhein
796 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: Probleme mit ADOTable

  Alt 13. Sep 2004, 10:03
Nein, die Tabelle wurde nicht geöffnet, da der Fehler wohl ausgelöst wird, wenn du die Tabelle öffnest.

Da der Fehler auf deinem Rechner nicht auftritt, wären folgende Informationen für eine Fehlersuche wichtig: welche Datenbank wird verwendet,ist die Datenbank auf dem zweiten Rechner installiert, ist auf dem zweiten Rechner überhaupt ADO installiert, das du ja verwendest.

Sollte auf dem zweiten Rechner kein ADO installiert sein schau mal hier vorbei, da findest du Links zu den notwendigen MDAC's und, falls es sich um MS Access als Datenbank handelt, Links zu den notwendigen Servicepacks.

Grüße
Mikhal
Michael Kraemer
Computer erleichtern die Arbeit...
...und die Erde ist eine Scheibe!
  Mit Zitat antworten Zitat
Susanne

Registriert seit: 21. Mai 2004
Ort: Lage
232 Beiträge
 
Delphi 2005 Professional
 
#3

Re: Probleme mit ADOTable

  Alt 13. Sep 2004, 10:26
Ich stelle in einer anderen Funktion eine Verbindung zur Datenbank her und das macht er ja auch einwandfrei ohne Fehlermeldung auf dem anderen Rechner.

der ConnectionString ist in einer ini-Datei hinterlegt, und der Tabellenname immer gleich. Die Datenbank ist auch auf dem zweiten Rechner, ado auch
Susanne
  Mit Zitat antworten Zitat
woki

Registriert seit: 29. Mär 2003
563 Beiträge
 
Delphi 2006 Architect
 
#4

Re: Probleme mit ADOTable

  Alt 13. Sep 2004, 10:30
Hi,

wenn Du mit den Adokomponenten arbeitest, würde ich dir ans Herz legen, die folgenden Threads zu studieren, das könnte viel Schmerz ersparen.

Hier im Forum suchenTBetterAdodataset
  Mit Zitat antworten Zitat
woki

Registriert seit: 29. Mär 2003
563 Beiträge
 
Delphi 2006 Architect
 
#5

Re: Probleme mit ADOTable

  Alt 13. Sep 2004, 10:35
Hi,

weiterhin wäre es eine gute Idee, wenn Du die Fehlermeldung nicht unterdrückst, sondern sie anzeigen, oder in die Logdatei schreiben läßt.

Grüsse
Woki
  Mit Zitat antworten Zitat
Susanne

Registriert seit: 21. Mai 2004
Ort: Lage
232 Beiträge
 
Delphi 2005 Professional
 
#6

Re: Probleme mit ADOTable

  Alt 13. Sep 2004, 11:10
wie komme ich denn an die Fehlermeldung ran?
Susanne
  Mit Zitat antworten Zitat
Benutzerbild von mikhal
mikhal

Registriert seit: 11. Sep 2003
Ort: Linz am Rhein
796 Beiträge
 
Delphi 11 Alexandria
 
#7

Re: Probleme mit ADOTable

  Alt 13. Sep 2004, 11:13
Kommentiere mal deinen äußeren try...except block aus, wenn du dann dein Programm laufen läßt, sollte er dir die Original-Fehlermeldung ausgeben.

[edit]Hier findest du Code, der es dir ermöglicht alle erzeugten Fehlermeldungen auszugeben.[/edit]
Grüße
Mikhal
Michael Kraemer
Computer erleichtern die Arbeit...
...und die Erde ist eine Scheibe!
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:56 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz