AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Problem mit zugriff auf dbf Dateien und bearbeiten.
Thema durchsuchen
Ansicht
Themen-Optionen

Problem mit zugriff auf dbf Dateien und bearbeiten.

Ein Thema von Duffy Duck · begonnen am 26. Jan 2016 · letzter Beitrag vom 16. Feb 2016
Antwort Antwort
HolgerX

Registriert seit: 10. Apr 2006
Ort: Leverkusen
992 Beiträge
 
Delphi 6 Professional
 
#1

AW: Problem mit zugriff auf dbf Dateien und bearbeiten.

  Alt 29. Jan 2016, 04:28
Versuche es bitte einmal mit der aktuellsten TDbf Version. Da hat sich ja doch offenbar einiges getan, wenn auch auf den ersten Blick vor allem die Struktur der Verzeichnisse etc.

Ein Unterschied ist, dass du die Memo-Datei (.dbt) nicht mitgeliefert hattest. Dadurch haben wir die einfach ausgeklammert bzw. ich habe sie leer neu erstellt, aber es wäre möglich, dass das Problem genau dort liegt.

Ich werde es einmal in einem virtuellen PC mit Delphi 7 ausprobieren, das habe ich hier nicht mehr drauf und deshalb hatte ich Delphi 10 benutzt.
Hmm...

Hatte ich das nicht geschrieben (BugFix) ?

Ich hatte mir die V 6.9.1 und auch die neuste 7er Version herunter geladen, in beiden ist es zur AccessViolation gekommen, weil keine Memo-Datei dabei ist.

Deshalb einfach mal kurz im Source geachaut und den Bug gefixt:

in dbf_memo.pas in procedure TMemoFile.Open;

Delphi-Quellcode:
    // read header
    HeaderSize := 512;

    // determine version
    if (FDbfVersion = xBaseIII) and Assigned(Header) then
      PDbtHdr(Header)^.bVer := 3;
    VirtualLocks := false;
Da die Datei fehlt, wird hier versucht etwas zu öffnen, was nicht da ist (keine Fehlermeldung 'Fehlende Datei').
Jedoch ohne Datei auch keinen Header und somit kommt es zu der AccessViolation beim Zugriff auf den 'Header'.

Nach dem Fix lässt sich deine Datenbank-Datei wie beschrieben öffnen.

Ach ja, bei der 7er Version musste ich noch einige Zeilen in dbf_common.inc auskommentieren, da hier mein D6 meckerte.
Mit der 6.9.1 brauchte ich das nicht machen.
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
10.113 Beiträge
 
Delphi 12 Athens
 
#2

AW: Problem mit zugriff auf dbf Dateien und bearbeiten.

  Alt 29. Jan 2016, 07:36
Hatte ich das nicht geschrieben (BugFix) ?
Ich meinte dich doch gar nicht.
Ich dachte, da du nicht den letzten Beitrag geschrieben hattest, muss ich das nicht extra dazu schreiben.
Sebastian Jänicke
AppCentral
  Mit Zitat antworten Zitat
HolgerX

Registriert seit: 10. Apr 2006
Ort: Leverkusen
992 Beiträge
 
Delphi 6 Professional
 
#3

AW: Problem mit zugriff auf dbf Dateien und bearbeiten.

  Alt 29. Jan 2016, 08:27


Ich wollte ja auch nur die Details des Bugs nochmals angeben und dass dieser auch in der aktuellsten Version vorhanden ist.

Dann kann er die Source von seiner Version fixen und nochmals testen..
  Mit Zitat antworten Zitat
Duffy Duck

Registriert seit: 22. Feb 2005
56 Beiträge
 
Delphi 7 Enterprise
 
#4

AW: Problem mit zugriff auf dbf Dateien und bearbeiten.

  Alt 29. Jan 2016, 20:45
Hallo Ihr lieben,

sooo aktueller Stand
Delphi Deinstalliert und alles wieder neu Installiert sowie Tdbf 6.9.1 und siehe da... es läuft, es lässt sich alles verändern und wird sogar in der Kunden.dbf gespeichert

Jetzt muss ich mich nur noch mit dem Filter auseinander setzten...
Von Kunde bis Kunde auswählen, und Betrag einsetzen.

Vorest Danke an alle für eure mühe, tolle Gemeinschaft
  Mit Zitat antworten Zitat
Duffy Duck

Registriert seit: 22. Feb 2005
56 Beiträge
 
Delphi 7 Enterprise
 
#5

AW: Problem mit zugriff auf dbf Dateien und bearbeiten.

  Alt 4. Feb 2016, 09:26
Hallo allerseits

wollte nicht nochmals ein neues Thema eröffnen und fahre hier mit meiner frage fort...:
Das mit dem Filtern klappt leider nicht so ganz.

Was habe ich schon gemacht:

Habe auf der Form eine TQuery komponente gesetzt und im Inspektor Datasource Datasource1 ausgewählt.
Doppelklick auf den Button in der Form und folgender sql code eingegeben:
Code:
procedure TMainForm.Button2Click(Sender: TObject);
begin
    query1.sql.text:='select * from Kunden limit '+IntToStr(vonGast.Text)+', '+IntToStr(bisGast.Text);
end;
leider erscheint nach F9 folgende meldung:
was ist mit überladener Version gemeint? Kurz vor dem Ziel so etwas...
Angehängte Grafiken
Dateityp: jpg Aufnahme6.jpg (43,4 KB, 12x aufgerufen)
  Mit Zitat antworten Zitat
nahpets
(Gast)

n/a Beiträge
 
#6

AW: Problem mit zugriff auf dbf Dateien und bearbeiten.

  Alt 4. Feb 2016, 09:44
Hallo allerseits

wollte nicht nochmals ein neues Thema eröffnen und fahre hier mit meiner frage fort...:
Das mit dem Filtern klappt leider nicht so ganz.

Was habe ich schon gemacht:

Habe auf der Form eine TQuery komponente gesetzt und im Inspektor Datasource Datasource1 ausgewählt.
Doppelklick auf den Button in der Form und folgender sql code eingegeben:
Code:
procedure TMainForm.Button2Click(Sender: TObject);
begin
    query1.sql.text:='select * from Kunden limit '+IntToStr(vonGast.Text)+', '+IntToStr(bisGast.Text);
end;
leider erscheint nach F9 folgende meldung:
was ist mit überladener Version gemeint? Kurz vor dem Ziel so etwas...
vonGast.Text ist eine Zeichenfolge und mit IntToStr kann man keine Zeichenfolge in eine Zeichenfolge verwandeln, sondern nur Integerwerte in Zeichenfolgen.

Entweder:
Delphi-Quellcode:
procedure TMainForm.Button2Click(Sender: TObject);
begin
  query1.sql.text := 'select * from Kunden limit ' + vonGast.Text + ', ' + bisGast.Text;
end;
oder
Delphi-Quellcode:
procedure TMainForm.Button2Click(Sender: TObject);
begin
  query1.sql.text:= Format('select * from Kunden limit %s, %s',[vonGast.Text,bisGast.Text]);
end;
wobei mir das entstehende SQL-Statement seltsam vorkommt:
select * from Kunden limit vonGast, bisGast also z. B.: select * from Kunden limit 10, 20
Hätte hier eher sowas erwartet:
select * from Kunden where kunr between vonGast and bisGast also z. B.: select * from Kunden where kunr between 10 and 20

Geändert von nahpets ( 4. Feb 2016 um 10:40 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#7

AW: Problem mit zugriff auf dbf Dateien und bearbeiten.

  Alt 4. Feb 2016, 09:49
Könnte es sein, daß vonGast.Text u.U. kein Integer ist?

Gruß
K-H
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector

Geändert von p80286 ( 4. Feb 2016 um 09:50 Uhr) Grund: Tippfehler
  Mit Zitat antworten Zitat
Duffy Duck

Registriert seit: 22. Feb 2005
56 Beiträge
 
Delphi 7 Enterprise
 
#8

AW: Problem mit zugriff auf dbf Dateien und bearbeiten.

  Alt 4. Feb 2016, 10:24
@nahpets

habe deinen code so übernommen und eingestzt, jetzt kommt zwar keine Fehlermeldung mehr aber es passiert auch nichts...

also vonGast.text und bisGast.text waren die Edit1.text und Edit2.text die umbenannt habe.

Zum verständniss:

Ich habe eine Dbgrid wo die kunden.dbf eingelesen wird, im Feld KUNR (Gast Nr.) habe ich z.B. 10 Kunden drin, beim einlesen der Tabelle werden alle 10 Kunden angezeigt. Jetzt möchte ich gerne einen Filter setzen, also zeige mir von Gast 1 bis Gast 5 an.
Dachte dass es mit einer sql abfrage möglich sein sollte...
Angehängte Grafiken
Dateityp: jpg Aufnahme7.jpg (41,5 KB, 11x aufgerufen)
  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 15:59 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