AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi FoxPro-DB lesen und Datensätze bearbeiten
Thema durchsuchen
Ansicht
Themen-Optionen

FoxPro-DB lesen und Datensätze bearbeiten

Ein Thema von SearchBot · begonnen am 20. Jul 2018 · letzter Beitrag vom 23. Jul 2018
 
SearchBot

Registriert seit: 27. Jun 2004
Ort: N-W vom Bodensee
328 Beiträge
 
Delphi 12 Athens
 
#5

AW: FoxPro-DB lesen und Datensätze bearbeiten

  Alt 23. Jul 2018, 15:21
Ich hatte letztes Jahr ein kleines Tool für eine Datenübernahme aus FoxPro geschrieben um automatisiert alle Datensätze in csv-Dateien zu exportieren.
Das funktioniert definitiv mit ADO. Den ConnectionString und die Verbindung zur DB hast du ja bereits aufgebaut. Jetzt brauchst du eigentlich nur noch einen
ADOTable, eine Data Source und ein DBGrid. Alles miteinander verbinden und der Zugriff sollte problemlos möglich sein.

Ja,... mit dem "alles miteinander verbinden" haperts noch - ich bin mit Datenbanken der totale Anfänger und erziele gelegentlich Glückstreffer .

Kann es sein daß die Komponenten für den Datenzugriff überhaupt nichts mit den dbGo-Komponenten gemeinsam haben?

- Ich habe eine TADOConnention, TADODataset, TADOQuery, TDataSource, TDBGrid und TDBNavigator auf dem TForm.
- Ich scheine ja eine Verbindung im OI zusammengeklickt zu haben:
Code:
   ADOconnection1.Provider = VFPOLEDB.1
   ADODataSet1.DataSource = DataSource1
   ADOQuery1.Connection = ADOConnection1
   ADOQuery1.DataSource = DataSource1

   DataSource1.DataSet = (leer, ich kann da nichts eintragen, versuche ich es per Code, sagt es was von "zirkulär"-Fehler)
   ADOTable1.Connection = ADOConnection1
   ADOTable1.MasterSource = DataSource1
   ADOTable1.TableName habe ich den Namen der Datenbank-Tabelle eingegeben
   DBGrid1.DataSource = DataSource1
   DBNavigator1.DataSource = DataSource1 (sind aber immer alle Buttons grau)
Testweise habe ich einen SQL-Script angewandt und auch mit unterschiedlichen Artikelnummern andere Ergebnisse bekommen:
Delphi-Quellcode:
   SQLstring:='select artnr, artsuch, seriennr from tabelle1 where (artnr="0815")';
   AdoDataset1.CommandText:=SQLstring;
   AdoDataset1.Active:=true;
   showmessage('Gibt '+AdoDataset1.RecordCount.ToString+' Einträge');
Vorhin hab ich entdeckt, daß ich auch sowas machen kann:
Delphi-Quellcode:
// nur nötig, wenn SQLExec verwendet wird: ADOConnention1.open;
  ADOQuery1.SQL.Clear;
  ADOQuery1.SQL.Add(SQLstring);
  ADOQuery1.Active:=true;
  showmessage('Gibt '+ADOQuery1.RecordCount.ToString+' Einträge');
Wichtig scheint, daß das .Active NACH der SQLstring-Zuweisung erfolgt.

Was ist denn der bessere Weg - mit dem AdoDataset1.active das SQL "schicken" oder mit dem AdoQuery1.active?
Wozu ist AdoQuery1.ExecSQL - es geht doch schon mit dem .active:=true los!?

Meine Hoffnung war daß mir das Ergebnis meines Query automatisch in der TDBGrid angezeigt wird (so als erstes Erfolgserlebnis)...
  Mit Zitat antworten Zitat
 

 

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 19:52 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz