![]() |
Datenbank: Paradox • Version: 7 • Zugriff über: TTable
Habe richtig Probleme mit meiner Datenbank...
Hallo,
ich habe im Moment irgendwelche unerklärbaren Probleme mit meiner Datenbank. Ich will einfach nur einen Information auslesen. Hier erstmal der Quelltext:
Delphi-Quellcode:
So wie er da steht, geht der Quelltext.
procedure TForm1.Button2Click(Sender: TObject);
var info: String; begin table1.first; info := table1.FieldByName('spalteeins').AsString; Edit1.Text := info; end; Sobald ich aber den String 'spalteeins' durch eine Variable(String) ersetze, findet er diese Spalte nicht mehr, obwohl in dem String genau die gleiche Information steht.
Delphi-Quellcode:
Ich habe wirklich kein Plan, was ich noch machen kann. Hier nochmal der Quelltext, wo die Variable datei der Wert zugewiesen wird, vielleicht hilft es ja weiter:
procedure TForm1.Button2Click(Sender: TObject);
var info: String; begin table1.first; info := table1.FieldByName(datei).AsString; Edit1.Text := info; end;
Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
begin temp := TStringList.Create; temp.LoadFromFile('temp.txt'); datei := temp.GetText; end; |
Re: Habe richtig Probleme mit meiner Datenbank...
Schon mal geguckt, was in datei drinne steht?
|
Re: Habe richtig Probleme mit meiner Datenbank...
Zitat:
Wenn ich es aber in ein edit.text kopieren lasse, steht da 'spalteeins||' Im Panel, Label, ShowMessage oder so werden diese 2 Striche nicht angezeigt. Jetzt wo ich nochmal darüber nachdenke, muss ja irgendetwas beim auslesen der .txt falsch laufen... aber ich habe kein Plan was... In der .txt steht erst spalteeins, und darunter ist noch ne leere Zeile! Kann das damit was zu tun haben? Ich sitze mittlerweile schon seit Gestern Abend an diesem Problem. |
Re: Habe richtig Probleme mit meiner Datenbank...
Dann stegt da zu viel drinn! 'spalteeins' != 'spalteeins||'. Nimm mal nur die 1.Zeile der Stringliste.
|
Re: Habe richtig Probleme mit meiner Datenbank...
Zitat:
Delphi-Quellcode:
Trotzdem hat es nichts gebracht: "Table1: Feld 'spalteeins' nicht gefunden."
procedure TForm1.FormCreate(Sender: TObject);
begin temp := TStringList.Create; temp.LoadFromFile('temp.mmr'); datei := temp.CommaText; end; Ich verstehe langsam echt nicht mehr, warum das nicht geht... |
Re: Habe richtig Probleme mit meiner Datenbank...
Delphi-Quellcode:
marabu
procedure TForm1.FormCreate(Sender: TObject);
begin datei := ''; temp := TStringList.Create; try temp.LoadFromFile('temp.mmr'); datei := temp[0]; finally temp.Free; end; end; |
Re: Habe richtig Probleme mit meiner Datenbank...
Was steht denn in temp.mmr? Und hast Du Dir auch mal angesehen, was TStingList.CommaText tatsächlich macht?
In der OH steht Die Eigenschaft CommaText bietet beim Schreiben oder Lesen die Möglichkeit, sämtliche Listeneinträge eines Objekts von TStrings wie einen einzigen, durch Kommas getrennten String zu behandeln. |
Re: Habe richtig Probleme mit meiner Datenbank...
Zitat:
Ich bin echt langsam am verzweifeln... Hier nochmal der Quelltext, wo die datei temp.txt beschrieben wird.
Delphi-Quellcode:
@r_kerber
procedure neufenster(artv, art: String; data: TStringList);
var datei: String; begin datei := ExtractFilePath(Application.Exename); data := TStringList.Create; data.Clear; data.add(artv); data.SaveToFile(datei+'temp.mmr'); ShellExecute(Application.Handle, 'open', PChar('"' + datei+'\data\system\'+art+'\Project1.exe' + '"'), nil, nil, SW_NORMAL); end; Hmmm, aber dadurch bin ich diese 2 seltsamen Striche losgeworden. Baer ich habe jetzt ja auch schon das von 'marabu' ausprobiert, aber das funktioniert ja auch net... |
Re: Habe richtig Probleme mit meiner Datenbank...
Was wurde als artv an Procedur NeuFenster übergeben?
Wenn beim Auslesen wirklich 'spalteeins' steht sollte es eigentlich funktioneiern. Post mal die Datei temp.mnr |
Re: Habe richtig Probleme mit meiner Datenbank...
Zitat:
In der Datei Temp.mmr steht wirklich nur spalteeins und dann halt als ob man einmal Enter gedrückt hätte(wahrscheinlich wegen data.add) es stimmt ja alles überein, nur nimmt Table 1 nur einen String an. Sobald ich da eine Variable einsetze geht es halt nicht mehr. Was mir jetzt wieder aufgefallen ist, dass wenn ich datei vorher nochmal 'spalteeins' zuweise, dass es dann geht: Aber das löst ja mein Problem nicht, weil sich datei ja ändern muss und aus temp.mmr ausgelesen werden soll.
Delphi-Quellcode:
procedure TForm1.Button2Click(Sender: TObject);
var info: String; begin datei := 'spalteeins'; table1.first; info := table1.FieldByName(datei).AsString; Edit1.Text := info; end; |
Re: Habe richtig Probleme mit meiner Datenbank...
Steffen,
öffne die Datei "temp.mnr" mit NotePad und gehe in den Speichern-Unter Dialog. Wenn da bei Codierung nicht ANSI steht, dann passe es an. marabu |
Re: Habe richtig Probleme mit meiner Datenbank...
Zitat:
Ich habe jetzt schon fogendes probiert:
Delphi-Quellcode:
Da zeigt er mir auch OK an!
if datei = 'spalteeins' then
Showmessage('OK'); Das heißt jetzt, das in der Variablen datei wirklich das drinnen steht, was da reingehört, nämlich 'spalteeins'. Wenn ich der Variablen datei in Button2.Click am Anfang nochmal 'spalteeins' zuweise geht es. Wenn er aber den Wert 'spalteeins' über die temp.mmr bekommt, funktioniert es plötzlich nicht mehr, obwohl es exakt den gleichen wert hat... Ich Verstehe das einfach nicht mehr... Ich meine das muss eigentlich gehen... |
Re: Habe richtig Probleme mit meiner Datenbank...
Versuche mal eine Minimalanwendung zu erstellen und stelle den Source und die Hilfsdatei hier ein, damit man den Code mal im Zusammenhang sieht und den Fehler nachvollziehen kann. Kann ja nicht mehr als 50 Zeilen sein. Ruckzuck ist das Problem gelöst - wetten dass?
marabu |
Re: Habe richtig Probleme mit meiner Datenbank...
Zitat:
|
Re: Habe richtig Probleme mit meiner Datenbank...
Ok, das hat auch nichts gebracht... ich poste jetzt den relevanten Quelltext von dem programm mit den 2 Forularen:
Unit1:
Delphi-Quellcode:
Unit2:
var
Form1: TForm1; tuning, allginf, shops, repa: String; data: TStringList; /... procedure TForm1.ListBox2Click(Sender: TObject); var A,T,S,R: String; begin A := table2.FieldByName('Allgemeine Informationen').AsString; T := table2.FieldByName('Tuninganleitungen').AsString; S := table2.FieldByName('Shops').AsSTring; R := table2.FieldByName('Reparaturanleitungen').AsString; if A = '' then Button1. Enabled := false else allginf := A; if T = '' then Button2. Enabled := false else tuning := T; if S = '' then Button3. Enabled := false else shops := S; if R = '' then Button4. Enabled := false else repa := R; end; procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction); var datei: String; begin data := TStringList.Create; datei := ExtractFilePath(Application.ExeName); if data.GetText <> '' then data.clear; data.SaveToFile(datei+'temp.mmr'); end; procedure neufenster(artv, art: String; data: TStringList); var datei: String; begin datei := ExtractFilePath(Application.Exename); data := TStringList.Create; data.Clear; data.add(artv); data.SaveToFile(datei+'temp.mmr'); if art = 'allginf' then Form2.ShowModal; end; procedure TForm1.Button1Click(Sender: TObject); begin neufenster(allginf, 'allginf', data); end;
Delphi-Quellcode:
/...
var Form2: TForm2; temp: TStringList; datei: String; implementation uses Unit1; {$R *.DFM} procedure TForm2.Button1Click(Sender: TObject); var info, Pfad: String; begin pfad := ExtractFilePath(Application.Exename); temp := TStringList.Create; temp.LoadFromFile(Pfad+'temp.mmr'); datei := temp.GetText; Edit1.Text := datei; table1.first; info := table1.FieldByName(datei).AsString; Edit2.Text := info; end; end. Das müsste alles relevante sein. Mal sehen, ob ich heute noch weiterkomme... Eigentlich dachte ich, dass ich heute nochmal richtig schön Zeit hätte, ein wenig weiter zu programmieren. Naja, mal sehen |
Re: Habe richtig Probleme mit meiner Datenbank...
Bitte temp.GetText durch temp.strings[0] ersetze sonst hast du wieder die beiden Pipes ('||') am Ende.
|
Re: Habe richtig Probleme mit meiner Datenbank...
Zitat:
Ich glaube das wars! ! Ich bin mir noch nicht ganz sicher, aber ich glaube jetzt gehts! :mrgreen: Ich werde jetzt noch ein bischen weiterschreiben, um zu sehen, obs wirklich alles geht, aber ich denke schon! Vielen Dank erstmal! ! ! :firejump: |
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:33 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