AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Access & EDB Kombos - Probleme
Thema durchsuchen
Ansicht
Themen-Optionen

Access & EDB Kombos - Probleme

Ein Thema von delphipitti · begonnen am 1. Feb 2005 · letzter Beitrag vom 14. Feb 2005
Antwort Antwort
Seite 1 von 2  1 2      
delphipitti

Registriert seit: 19. Jan 2005
27 Beiträge
 
Delphi 7 Professional
 
#1

Access & EDB Kombos - Probleme

  Alt 1. Feb 2005, 19:20
Hallo,

folgendes Problem:

Zugriff auf Access über EDB Kombos funktioniert einwandfrei - auch löschen, anlegen und updaten.
Nur habe ich das Problem, das ich die Datenbank in eine Textdatei umwandeln muss (natürlich erst wenn mann seine Daten eingetragen hat).

Die Daten stehen wie gesagt in der DB - und ich will die Daten in eine Txt-Datei ausgeben, aber wie weiß ich nicht. Ich kann irgendwie auch die Daten nicht in ein Memo oder Richedit schicken.

Ich will aber auch nicht jede einzelne Zeile getrennt über Edits in ein Memo parsen.

Hat irgendwer vielleicht einen Gedanken wie das am besten zu machen geht?

mfg delphipitti
  Mit Zitat antworten Zitat
shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#2

Re: Access & EDB Kombos - Probleme

  Alt 1. Feb 2005, 19:30
Zitat von delphipitti:
Zugriff auf Access über EDB Kombos funktioniert einwandfrei - auch löschen, anlegen und updaten.
Nur habe ich das Problem, das ich die Datenbank in eine Textdatei umwandeln muss (natürlich erst wenn mann seine Daten eingetragen hat).
Du kannst keine Datenbank in eine Textdatei umwandeln.
Du kann lediglich eine Tabelle (oder View) aus einer Datenbank in eine Textdatei im
fixed ASCII oder CSV Format Hier im Forum suchenCSV Format exportieren.
Andreas
  Mit Zitat antworten Zitat
delphipitti

Registriert seit: 19. Jan 2005
27 Beiträge
 
Delphi 7 Professional
 
#3

Re: Access & EDB Kombos - Probleme

  Alt 1. Feb 2005, 19:36
Danke für die schnelle Antwort,

ich weiß dass ich keine Tabelle direkt umwandeln kann.

Mein Problem liegt aber darin, die Daten in ASCII zu exportieren, da ich ja das EDB eigene Listview nutze. Und da bin ich noch nicht dahinter gestiegen wie ich das anspreche!?

delphipitti
  Mit Zitat antworten Zitat
clues1

Registriert seit: 11. Feb 2004
97 Beiträge
 
#4

Re: Access & EDB Kombos - Probleme

  Alt 1. Feb 2005, 20:44
Hallo.

Es freut mich das einer meine Kompos benutzt .

So nun zum Thema, direct in eine Textdatei umwandeln geht das nicht, wie Shmia schon schrieb.
Wenn du die EDBListview nutzt, kannst du entweder direkt aus der Listview lesen. Wie im Normalen Listview:
Delphi-Quellcode:
  for i := 0 to EDBListview.Items.Count-1 do begin
    EDBListView.Items.Item[i].Caption; // Erste Spalte
    EDBListView.Items.Item[i].SubItems.Strings[0]; // 2. Spalte
    EDBListView.Items.Item[i].SubItems.Strings[1]; // 3. Spalte
    EDBListView.Items.Item[i].SubItems.Strings[2]; // 4. Spalte
    EDBListView.Items.Item[i].SubItems.Strings[3]; // 5. Spalte und so Weiter.
  end;
Es gibt aber bessere Möglichkeiten, wie das direkte auslesen von Recordsets.
Wenn du den Befehl LoadSQLEx von der EDBSQLStrings ausführst, dann bekommst du ein Recordset zurück, das du auswerten kannst. Dafür gibt es ja schon ein paar kleine Beispiele in der Referenz. Diese musst du dann halt in dein Memo oder so schreiben.
Des weiteren hast du noch die Möglichkeit, den letzten SQL Result als XML zu speichern, um eventuell einige andere Programm zu füttern.

Ich hoffe, ich konnte dir dabei ein bissel helfen.
Meine Easy Database Komponenten[/url] (EDB) Datenbankfuntionen für Delphi Personal/Std und höher. MySQL, MSSQL, Access (JET), Oracle, CSV, TXT, DBase und noch viele mehr. http://www.delphipraxis.net/internal...ct.php?t=37505
  Mit Zitat antworten Zitat
delphipitti

Registriert seit: 19. Jan 2005
27 Beiträge
 
Delphi 7 Professional
 
#5

Re: Access & EDB Kombos - Probleme

  Alt 1. Feb 2005, 21:26
Ersteinmal Danke für die Antworten.

Ich bin jedenfalls sehr zufrieden mit der Kombo.

Ich werde es mal mit dem Tip des direkten Auslesens der Recordset probieren. Denn Schleifen wollte ich eigentlich vermeiden, denn wenn die Datensätze zu viel sind, dann dauerts ein wenig zu lang.

Sollte ich keinen Erfolg haben, dann meld ich mich morgen nochmal zurück. Natürlich auch wenn ich welchen habe.

Jedenfalls nochmals Danke...
  Mit Zitat antworten Zitat
clues1

Registriert seit: 11. Feb 2004
97 Beiträge
 
#6

Re: Access & EDB Kombos - Probleme

  Alt 1. Feb 2005, 22:20
Ok, wenn du irgend etwas geschrieben hast, das in Verbindung mit den EDB Komponenten arbeitet, dann kannst du die mir gerne zusenden und ich baue es ein. Ich bin gerade beim Schreiben einer Verwaltungskomponente. Ich hab nur sehr wenig zeit um das zu bauen, darum verzögert sich das etwas.
Meine Easy Database Komponenten[/url] (EDB) Datenbankfuntionen für Delphi Personal/Std und höher. MySQL, MSSQL, Access (JET), Oracle, CSV, TXT, DBase und noch viele mehr. http://www.delphipraxis.net/internal...ct.php?t=37505
  Mit Zitat antworten Zitat
delphipitti

Registriert seit: 19. Jan 2005
27 Beiträge
 
Delphi 7 Professional
 
#7

Re: Access & EDB Kombos - Probleme

  Alt 2. Feb 2005, 14:08
Hallo,

ich nochmal. Habe jetzt verschiedene Wege probiert.

Weg 1 - Recordset:

memosql.LoadSQLEx(['artikelnummer'], rs); Beim ausführen kommt eine Fehlermeldung:

Code:
Zugrifssverletzung bei Adresse 0048E6DA ... Schreiben von Adresse 00492F10
mit einem Verweis auf die edb.pas

Self.Columns := DBRec.Columns;
Weg 2 - Direkt:


memosql.LoadSQL(['artikel'], 'artikelname', listbox1.Items) ; Funtioniert einwandfrei, doch damit ist mein Problem nicht gelöst.

Ich brauch eine Ausgabe die ungefähr so aussieht:

Code:
artikel,artikelnummer,artikelname,beschreibung,...
Ich will also Datensatz für Datensatz auslesen. Aber alles was in einem Datensatz drinne steht, soll dann auch in einen Zeile b.w. hintereinander weg stehen. Ich habe schon probiert eine Schleife zu nehmen, doch wie komme ich ohne Umwege an jeweils den gesamten Datensatz ran? Also ohne Select ID und ähnlichen??

mfg delphipitti
  Mit Zitat antworten Zitat
clues1

Registriert seit: 11. Feb 2004
97 Beiträge
 
#8

Re: Access & EDB Kombos - Probleme

  Alt 2. Feb 2005, 21:50
Ich glaube das sollte die als Beispiel dazu helfen:

Delphi-Quellcode:
var rs: TDBRecordsets;
    S: string;
    i: integer;
begin
  rs := TDBRecordsets.Create; // Das ist wichtig, da TDBRecordsets ein Object ist, deswegen Erstellen

  EDBSQLStrings1.LoadSQLEx(['artikel','artikelnummer','artikelname','beschreibung',....], rs);
  for i := 0 to rs.Rows-1 do begin
      S := rs.GetValue(i, 'artikel'); // Artikel Infos
      S := S + ',' + rs.GetValue(i, 'artikelnummer'); // Artikelnummer
      S := S + ',' + rs.GetValue(i, 'artikelname');
      S := S + ',' + rs.GetValue(i, 'beschreibung');
      ....
      Memo1.Items.Add(S); // artikel,artikelnummer,artikelname,beschreibung,...
  end;

  rs.ClearRecordset;
  rs.Free;
Die Fehlermeldung kommt, wenn das Recordset noch nicht erstellt wurde. Da du über die Funktion eine Kopie des Recordsets bekommst ist es notwendig ein neues Object zu erstellen.
Meine Easy Database Komponenten[/url] (EDB) Datenbankfuntionen für Delphi Personal/Std und höher. MySQL, MSSQL, Access (JET), Oracle, CSV, TXT, DBase und noch viele mehr. http://www.delphipraxis.net/internal...ct.php?t=37505
  Mit Zitat antworten Zitat
delphipitti

Registriert seit: 19. Jan 2005
27 Beiträge
 
Delphi 7 Professional
 
#9

Re: Access & EDB Kombos - Probleme

  Alt 6. Feb 2005, 17:00
Hallo mal wieder!

Erstmal Vielen, vielen Dank - der Tip mit dem Recordset funzt. Ich hatte es vorher per Schleife probiert. Es ging solange gut wie keine ID fehlte, da ich zum Zählen die Id nutzte! Kaum wurde aber ein Artikel gelöscht, gings nicht mehr.

Aber aufgrund der Recordset gehts jetzt.

Habe aber trotzdem noch zwei Fragen:

Frage zur Combo - wie krieg ichs hin, das er mir wie in deinem Beispiel zwei Werte in die Combo schreibt?

Ich nutze zur Zeit diesen Code
EDBComboBox1.LoadSQL('SELECT id , artikelname as suche FROM artikel','suche', 'id'); Also ID in den ID-Bereich und die Suche als Anzeige. Wenn ich aber jetzt folgendes mache:
EDBComboBox1.LoadSQL('SELECT id ,(artnr + ':' + artikelname) as [suche] FROM artikel','suche', 'id'); zeigt mir die Combo nur leere Felder!?

Frage zur Access-Db:

Ich würde gern die DB passwort schützen. Wenn ich einen Abfrage mit den Parametern:
EDB1.CreateDBConnection(db_MSAccess, extractfiledir(application.ExeName) + '\data/artikel.mdb', 'user', 'pw', '',false,true); mache kommt er immer mit irgendwelchen Benutzergruppen und Rechten?

Wie wäre die beste Möglichkeit meine DB zu schützen aber dennoch zu öffnen?

Vielen Dank erstmal, und falls du irgendwelche Teile der Unit brauchts, musste mal Bescheid geben!

mfg delphipitti
  Mit Zitat antworten Zitat
clues1

Registriert seit: 11. Feb 2004
97 Beiträge
 
#10

Re: Access & EDB Kombos - Probleme

  Alt 7. Feb 2005, 18:24
Zur 2. Frage.

Zum öffnen der DB:
EDB.CreateDBConnection(db_MSAccess, 'Datei', '', '{ leer lassen }, '{ leer lassen}, false, false { wenn hier true, dann wird automatisch beim erstellen der DB eine DBPasswort gesetzt}, 'dein PW{Dies wird damm zum öffnen verwendet }, false); Zum Setzten der DB:
Delphi-Quellcode:
EDB.DropDBConnection; // Schließt die Datei vorher, damit das klappt.
EDB.SetAccessDB_Password('Datei', 'Neues Passwort'; 'Altes Passwort{Falls nicht vorhanden ''});
!!! Diese zeile Funktioniert nur, wenn die Datei nicht offen ist. Da diese Datei im Exklusiv Modus gestartet werden muss. Also, die DB muss geschlossen sein. !!!

Danach kannst du die Verbindung ja wieder herstellen.
Meine Easy Database Komponenten[/url] (EDB) Datenbankfuntionen für Delphi Personal/Std und höher. MySQL, MSSQL, Access (JET), Oracle, CSV, TXT, DBase und noch viele mehr. http://www.delphipraxis.net/internal...ct.php?t=37505
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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:59 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