Delphi-PRAXiS
Seite 3 von 4     123 4      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi INSERT INTO & MS Access (https://www.delphipraxis.net/92102-insert-into-ms-access.html)

mkinzler 15. Mai 2007 16:09

Re: INSERT INTO & MS Access
 
Dann würde ich auf jeden Fall Parameter verwenden.

Catbytes 15. Mai 2007 16:18

Re: INSERT INTO & MS Access
 
Was passiert, wenn Du anstatt TADOCommand, TQuery verwendest?

Also so:

Delphi-Quellcode:
ADOquery1.SQL.Clear;
ADOquery1.SQL.Add(SQL);
ADOquery1.ExecSQL;

Moony 16. Mai 2007 07:05

Re: INSERT INTO & MS Access
 
Kann ich denn mit einem normalen Query änderungsbefehle ausführen?

Davon abgesehen funktioniert jetzt immer noch nichts. Weder die normale Übergabe des SQL-Strings, noch die Parametergeschichte, noch das Auswechseln des ADOCommands durch das ADOQuery.

Das ist doch zum heulen!!!! :cry:

hoika 16. Mai 2007 07:38

Re: INSERT INTO & MS Access
 
Hallo,

du hattest geschrieben, du kannst bis 6 Werte eintragen
Rufe mal fest als Test die folgende auf (Feld 6 und 7 verdreht)

INSERT INTO myTable (Feld1,Feld2,Feld3,Feld4,Feld5,Feld7,Feld6) VALUES ('','','','','','','')


Ausserdem hast du noch immer nicht gesagt, wie die Felder heissen,
haben die irgendwelche Sonderzeichen/Leerzeichen.

Sogar beim Umsteig auf den ms-sql Server musste ich mal Feldnamen ändern,
weil er die nicht erlaubte, Access aber schon.

Als letztes baue eine Test-DB (mdb) und ein Programm,
was genau den Fehler beim Insert erzeugt.
und lade beides hier hoch.

Ansonsten ist das hier nur noch Rätselraten.


Heiko

Moony 16. Mai 2007 07:56

Re: INSERT INTO & MS Access
 
Also, als erstes sind alle Feldnamen ohne Sonderzeichen oder Leerzeichen.
So sieht der SQL String übersetzt aus:

SQL-Code:
INSERT INTO race00 (Category,Name,PassNumber,ValidDays,ValidZones,GrandStand,Section) VALUES ('MEINE KATEGORIE','MEIN NAME (P)','00-2007-03-0103','1111','11111111','','')
Die fEldnamen stimmen überein, da diese Datenbank überall anderweitig bereits seid Jahren in dem Aufbau verwendet wird. Wie bereits gesagt funktioniert der SQL-Befehl direkt bei einer Abfrage in dieser Accesstabelle ja einwandfrei. Nur über den Source mit dem ADOCommand nicht.
Das Tauschen der Felder funktioniert ebenso wenig. Egal welches Feld ich an diese Stelle gebe. Das Tauschen ist im Normalfall auch egal, da alle Felder in der Tabelle den Datentyp "Text" definiert haben. der einzige unterschied zwischen den Feldern ist die zulässige Größe, aber die habe ich bereits für jedes Feld überprüft. Bei allen Feldern wird ebenfalls ein Leerstring zugelassen.

Moony 16. Mai 2007 08:55

Re: INSERT INTO & MS Access
 
Liste der Anhänge anzeigen (Anzahl: 1)
So, habe jetzt ein Testprogramm mit der DB gemacht, wobei ich den größten Teil der Felder rausgenommen habe. Des Weiteren werden hier die Werte aus dem Memo entnommen, in meinem eigentlichen Programm ist es ein Query, welches an einen MySQL-Server angebunden ist. Die Anzahl der Feldnamen kann geändert werden, sowie die Feldwerte. Um mehrere Datensätze hinzuzufügen in dem Memo eine Zeile pro Datensatz verwenden.

Ich hoffe das hilft weiter.

Catbytes 16. Mai 2007 09:07

Re: INSERT INTO & MS Access
 
"Diese Datenbank weist ein unbekanntes Format auf". :(

Ich habe leider "nur" Office 2000. Kannst Du die DB mal als 2000er zur Verfügung stellen?

Moony 16. Mai 2007 09:12

Re: INSERT INTO & MS Access
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hier nochmal die DB in Access 2000

hoika 16. Mai 2007 09:59

Re: INSERT INTO & MS Access
 
Hallo,

jo, in Access geht es.
Ich kann mir jetzt noch vorstellen, dass deine Connection
nicht auf der richtigen MDB oder das Ado-Dingens
auf dem falschen Connection liegt.


Heiko

marabu 16. Mai 2007 10:14

Re: INSERT INTO & MS Access
 
Hallo,

der Feldname [Section] muss in eckige Klammern gesetzt werden! Name und Row gefallen mir zwar auch nicht so recht, aber ADO hat keine Schwierigkeiten mit denen.

Grüße vom marabu


Alle Zeitangaben in WEZ +1. Es ist jetzt 18:21 Uhr.
Seite 3 von 4     123 4      

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