AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi PostgreSQL, INSERT INTO -
Thema durchsuchen
Ansicht
Themen-Optionen

PostgreSQL, INSERT INTO -

Ein Thema von m.wollert · begonnen am 4. Jul 2006 · letzter Beitrag vom 4. Jul 2006
Antwort Antwort
m.wollert

Registriert seit: 18. Aug 2003
Ort: Heilbronn
92 Beiträge
 
FreePascal / Lazarus
 
#1

PostgreSQL, INSERT INTO -

  Alt 4. Jul 2006, 13:26
Datenbank: PostgreSQL • Version: 8.1 • Zugriff über: ADO
Hallo zusammen,

hoffentlich erwische ich den einen oder anderen, der mit PostgreSQL so seine Erfahrung hat :-)

Ich möchte - "ganz simpel" dachte ich ursprünglich - Daten in eine Tabelle einfügen.

Hierfür habe ich ein ADOConnection auf das Formular gezogen, und den String
Provider=PostgreSQL.1;Password=postgres;User ID=postgres;Data Source=127.0.0.1;Location=test;Extended Properties=""
definiert.

Anfragen und Befehle an die DB werden durch ADOQuery realisiert.

Die Datenbank heißt "test"

Die Testtabelle heißt "table1", und deren Felder habe ich
firstrow char 25
secondrow char 50
benannt

Delphi-Quellcode:
begin
  Qry.SQL.Clear;
  Qry.SQL.Text := 'INSERT INTO table1 (firstrow, secondrow) VALUES (:firstfield, :secondfield);';
  Qry.Parameters.ParamByName('firstfield').Value := 'firstvalue';
  Qry.Parameters.ParamByName('secondfield').Value := 'secondvalue';
  Qry.ExecSQL;
end;
Führe ich den Code aus, bekomme ich die Meldung :
'In dem Rowset sind keine Spalten definiert'

Kann mir evtl. jmd. sagen wo mein Fehler liegt? Ich dachte, ich hätte die Felder angelegt... ;)

Danke! :-)

[edit=alcaeus]BBCodes aktiviert. Mfg, alcaeus[/edit]
Michael
  Mit Zitat antworten Zitat
Benutzerbild von RavenIV
RavenIV

Registriert seit: 12. Jan 2005
Ort: Waldshut-Tiengen
2.875 Beiträge
 
Delphi 2007 Enterprise
 
#2

Re: PostgreSQL, INSERT INTO -

  Alt 4. Jul 2006, 13:36
zwei Sachen, die ich machen würde:

1) das SQL-Statement in einem anderen Programm ausführen lassen (z.B. DB-Editor oder SQL-Administrator, oder was es sonst für Postgres gibt).

2) in den ADO schauen, wo die Fehlermeldung erzeugt wird und dann weiterforschen.
Klaus E.
Linux - das längste Text-Adventure aller Zeiten...
Wer nie Linux mit dem vi konfiguriert hat, der hat am Leben vorbei geklickt.
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#3

Re: PostgreSQL, INSERT INTO -

  Alt 4. Jul 2006, 13:43
Hallo Michael,

SQL.Clear kannst du weglassen und das abschließende Semikolon im INSERT-Statement musst du weglassen.

Grüße vom marabu
  Mit Zitat antworten Zitat
m.wollert

Registriert seit: 18. Aug 2003
Ort: Heilbronn
92 Beiträge
 
FreePascal / Lazarus
 
#4

Re: PostgreSQL, INSERT INTO -

  Alt 4. Jul 2006, 13:46
Danke für die prompte Antwort,

im SQL-Editor läuft das locker durch:
INSERT INTO table1 (firstrow, secondrow) VALUES ('value1', 'value2')
-> Abfrage war erfolgreich durchgeführt: 1 Zeilen, 16 ms Ausführungszeit.

Debuggen kann ich das nicht, das läuft in der System.pas durch einen ASM-Bereich - und das ist mir leider zu hoch...

Falls noch eine Idee rumschwirrt - Melden! :-)


@marabu: ja, das sind die allseitsbekannten Verzweiflungsakte... Man klemmt da noch ein clear rein, und editiert da noch etwas rum... aber letztendlich gebracht hat es leider nix... Danke trotzdem:)

Michael:)
Michael
*Im Auftrag ewiger Jugend und Glückseligkeit*
  Mit Zitat antworten Zitat
m.wollert

Registriert seit: 18. Aug 2003
Ort: Heilbronn
92 Beiträge
 
FreePascal / Lazarus
 
#5

Re: PostgreSQL, INSERT INTO -

  Alt 4. Jul 2006, 13:48
Mir ist gerade aufgefallen, daß die Daten eingetragen werden.

D.h. daß der Fehler NACHDEM die Daten in die DB übertragen wurden, auftritt.
Michael
*Im Auftrag ewiger Jugend und Glückseligkeit*
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#6

Re: PostgreSQL, INSERT INTO -

  Alt 4. Jul 2006, 13:55
Das Semikolon hast du wohl schon wieder raus genommen. Vielleicht wird deine Query über eine DataSource an eine visuelle Komponente gebunden?

marabu
  Mit Zitat antworten Zitat
m.wollert

Registriert seit: 18. Aug 2003
Ort: Heilbronn
92 Beiträge
 
FreePascal / Lazarus
 
#7

Re: PostgreSQL, INSERT INTO -

  Alt 4. Jul 2006, 14:01
Nein, leider ebenfalls nicht. Ich habe ein komplett leeres Testprojekt erstellt, in dem ich nur die notwendigen zwei DB-Komponenten, zwei Buttons und ein Memo-Feld verwendet habe.
Michael
*Im Auftrag ewiger Jugend und Glückseligkeit*
  Mit Zitat antworten Zitat
m.wollert

Registriert seit: 18. Aug 2003
Ort: Heilbronn
92 Beiträge
 
FreePascal / Lazarus
 
#8

Re: PostgreSQL, INSERT INTO -

  Alt 4. Jul 2006, 14:18
Sobald ich in der ADOConnection
CursorLocation auf "clUseServer"
setze, erscheint die Fehlermeldung nicht mehr.

Danke an die, die mitgedacht haben :)

Grüße!
Michael
Michael
  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 06:33 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