Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi BDE - ASCII Datenbank - INSERT (https://www.delphipraxis.net/23268-bde-ascii-datenbank-insert.html)

tuxic 31. Mai 2004 20:00


BDE - ASCII Datenbank - INSERT
 
Hi ihrs,
ich benutze BDE und eine ASCII/Text Datenbanke (daran läßt sich auch nicht rütteln - hoffe ich :D ).
Nur leider bin ich wohl zu dumm, etwas in die Tabellen einzutragen, ich bekomme ständig die Fehlermeldung: "abfragen auf text oder ascii tabellen werden nicht unterstüzt".

ähhh? hab ich ein Problem mit!
1.) ich mach doch gar keine Abfrage :!: :?: :!: :?: :!: :?:
2.) würde eine SELECT Anweisung funktionieren?

Die INSERT angabe mache ich wie folgt:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin
  query1.SQL.Clear;
  query1.SQL.Text := 'INSERT INTO test VALUES (55)';
  query1.ExecSQL;
end;
wobei query1 vom Typ tquery ist...

kann mir jemand weiterhelfen?
Wenn Punkt 1 oder Punkt 2 nicht funktionieren, wie kann ich sonst mit einer Text/ASCII Datenbank arbeiten? Es währe sehr wichtig, das die DB eine (oder mehere) Text Dateien ist/sind.

MfG
Daniel

HaJo 1. Jun 2004 00:02

Re: BDE - ASCII Datenbank - INSERT
 
Morgen Daniel,

Wie kommst Du an die Eigenschaft Query.SQL.Text?

Die korrekte "Insert Into" Anweisung bei einer Query-Komponente lautet folgendermassen:

Delphi-Quellcode:
   DM.QryTmp.SQL.Clear;
   DM.QryTmp.SQL.Add('Insert into Tabellenname');
   DM.QryTmp.SQL.Add('(Feldname 1, Feldname 2)'); // usw.
   DM.QryTmp.SQL.Add('VALUES');
   DM.QryTmp.SQL.Add('(:Wert für Feld 1, :Wert für Feld 2)'); // usw
   DM.QryTmp.ParamByName('Feldname 1').AsInteger := Ausdruck oder Variable;
   DM.QryTmp.ParamByName('Feldname 1').AsString  := Ausdruck oder Variable; // usw.
   IF NOT DM.QryTmp.Prepared THEN
      DM.QryTmp.Prepare;
   DM.QryTmp.ExecSQL; // Ausführen bzw. übertragen der Werte
Man kann es auch mit numerischer Aufzählung machen statt DM.QryTmp.ParamByName ein DM.QryTmp.Params[0].AsInteger usw. - ist aber später schwieriger zu pflegen, bzw. zu lesen :-)

Da aber aus Deiner Beschreibung nicht so richtig ersichtlich ist, um welche Datenbank es sich handelt, ist konkreteres zu sagen sehr schwierig. Was ist eine ASCII/Text-Datenbank?


Gruß
Jochen

tuxic 1. Jun 2004 07:28

Re: BDE - ASCII Datenbank - INSERT
 
Zitat:

Zitat von HaJo
Da aber aus Deiner Beschreibung nicht so richtig ersichtlich ist, um welche Datenbank es sich handelt, ist konkreteres zu sagen sehr schwierig. Was ist eine ASCII/Text-Datenbank?

eine Textdatei ist eine Tabelle... Die Datenbank selber ist also ein Verzeichnis. CVS ist sogesehen auch eine Tabelle einer Datenbank. Schiebt man nun mehrere CVS-Files in ein Verzeichnis hat man eine Datenbank :)

aber ich werds mal so versuchen THX

tuxic 1. Jun 2004 07:40

Re: BDE - ASCII Datenbank - INSERT
 
Zitat:

Zitat von HaJo
Morgen Daniel,

Wie kommst Du an die Eigenschaft Query.SQL.Text?

Die korrekte "Insert Into" Anweisung bei einer Query-Komponente lautet folgendermassen:

Delphi-Quellcode:
   DM.QryTmp.SQL.Clear;
   DM.QryTmp.SQL.Add('Insert into Tabellenname');
   DM.QryTmp.SQL.Add('(Feldname 1, Feldname 2)'); // usw.
   DM.QryTmp.SQL.Add('VALUES');
   DM.QryTmp.SQL.Add('(:Wert für Feld 1, :Wert für Feld 2)'); // usw
   DM.QryTmp.ParamByName('Feldname 1').AsInteger := Ausdruck oder Variable;
   DM.QryTmp.ParamByName('Feldname 1').AsString  := Ausdruck oder Variable; // usw.
   IF NOT DM.QryTmp.Prepared THEN
      DM.QryTmp.Prepare;
   DM.QryTmp.ExecSQL; // Ausführen bzw. übertragen der Werte

schade, genau der selbe Fehler...

Daniel

HaJo 1. Jun 2004 08:11

Re: BDE - ASCII Datenbank - INSERT
 
Tag Daniel,

würde Dir ja gerne weiterhelfen.

Aber da muss ich jetzt leider auch passen. Kann mir Deine Fehlermeldung nur noch so erklären, das Deine Datenbankform von dieser Komponente nicht unterstützt wird.

Vieleicht sagt ja noch jemand anderes etwas dazu.

Sorry

Gruß
Jochen

tuxic 1. Jun 2004 08:16

Re: BDE - ASCII Datenbank - INSERT
 
Zitat:

Zitat von HaJo
Aber da muss ich jetzt leider auch passen. Kann mir Deine Fehlermeldung nur noch so erklären, das Deine Datenbankform von dieser Komponente nicht unterstützt wird.

hmm... ich bin leider erst eben auf die Idee gekommen :wall: den Insert mal an einer Paradox-DB auszuprobieren... Und er funzt... das ist dann wohl das aus für die ASCII-DB :)

Daniel

HaJo 1. Jun 2004 08:18

Re: BDE - ASCII Datenbank - INSERT
 
siehste - es geht doch nichts über richtige Datenbanken <lach>

Gruß
Jochen

tuxic 1. Jun 2004 10:11

Re: BDE - ASCII Datenbank - INSERT
 
Zitat:

Zitat von HaJo
siehste - es geht doch nichts über richtige Datenbanken <lach>

har har...
wie siehts mit der exportierung in nach cvs files aus, ist das möglich?

MrSpock 1. Jun 2004 10:42

Re: BDE - ASCII Datenbank - INSERT
 
Hallo tuxic,

wenn du Export von Paradox nach CSV meinst: Ja das geht (z.B. mit BatchMove).


Alle Zeitangaben in WEZ +1. Es ist jetzt 23:14 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