AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

SQL Insert

Ein Thema von Hansa · begonnen am 21. Okt 2003 · letzter Beitrag vom 23. Okt 2003
Antwort Antwort
Seite 1 von 2  1 2      
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#1

SQL Insert

  Alt 21. Okt 2003, 20:19
Hi,

Ich füge folgendermaßen Daten in eine Interbase-DB ein:

SQL-Code:
// MyStatDataSet.open;
WHILE NOT EOF (k) DO BEGIN
  MyDataSet.insert;
  MyDataSet.FindField ('ID').AsInteger := StrToInt (copy (zeile,1,10));
. // ^ Fehler kommt hier ^
.
.
.
  MyDataSet.Post;
end;
Dabei kommt folgender Fehler:

"Cannot perform Operation on a closed dataset"

Egal, ob ich das Dataset im oi auf active := true oder nicht setze, oder erst zur Laufzeit, immer kommt dieser Fehler. Was kann das sein ?
Gruß
Hansa
  Mit Zitat antworten Zitat
Benutzerbild von mirage228
mirage228

Registriert seit: 23. Mär 2003
Ort: Münster
3.750 Beiträge
 
Delphi 2010 Professional
 
#2

Re: SQL Insert

  Alt 21. Okt 2003, 20:24
Hi,

ich hab da so eine Vermutung!

Vielleicht musst du noch schreiben:

MyDataSet.Open; und nicht nur MyStatDataSet.open;

mfG
mirage228
David F.
  Mit Zitat antworten Zitat
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#3

Re: SQL Insert

  Alt 21. Okt 2003, 20:27
Das ist ein Schreibfehler, außerdem ist es noch auskommentiert.
Gruß
Hansa
  Mit Zitat antworten Zitat
Benutzerbild von mirage228
mirage228

Registriert seit: 23. Mär 2003
Ort: Münster
3.750 Beiträge
 
Delphi 2010 Professional
 
#4

Re: SQL Insert

  Alt 21. Okt 2003, 20:29
Hi,

sorry, hatte die "//" vor dem Ausdruck übersehen...
aber schon seltsam, dass der DelphiCode Parser der DP die Kommentare nicht Blau färbt...

mfG
mirage228
David F.
  Mit Zitat antworten Zitat
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#5

Re: SQL Insert

  Alt 21. Okt 2003, 20:49
OT:

@mirage: Dann schau dir mal an, was in dem Quelltext blau ist. Da ist nämlich was gefärbt. Ich habe das absichtlich so gemacht, denn vorher waren da noch ganz andere Sachen drin. Solche Ausreden zählen aber sowieso nicht.
Gruß
Hansa
  Mit Zitat antworten Zitat
Benutzerbild von APP
APP

Registriert seit: 24. Feb 2003
Ort: Graz (A)
705 Beiträge
 
Delphi 7 Enterprise
 
#6

Re: SQL Insert

  Alt 21. Okt 2003, 20:56
hallo Hansa,
mal eine blöde Idee:

Zitat von Hansa:
SQL-Code:
// MyStatDataSet.open;
WHILE NOT EOF (k) DO BEGIN
  MyDataSet.insert;
  MyDataSet.Edit; // <------------------------------------------------ vielleicht hilft das?
  MyDataSet.FindField ('ID').AsInteger := StrToInt (copy (zeile,1,10));
. // ^ Fehler kommt hier ^
.
.
.
  MyDataSet.Post;
end;
[EDIT]
OK,OK,
das war wirklich eine blöde Idee, man sollte VOR dem Posten in die Hilfe schauen:
Zitat:
OH: Nach dem Aufruf von Insert können die Benutzer Daten in die Felder des neuen Datensatzes eingeben und anschließend die Änderungen mit Post (oder mit ApplyUpdates bei aktivierter Zwischenspeicherung) in die Datenbank eintragen.
Sorry [/EDIT]
Armin P. Pressler

BEGIN
...real programmers are using C/C++ - smart developers Delphi;
END;
  Mit Zitat antworten Zitat
Benutzerbild von Jelly
Jelly

Registriert seit: 11. Apr 2003
Ort: Moestroff (Luxemburg)
3.741 Beiträge
 
Delphi 2007 Professional
 
#7

Re: SQL Insert

  Alt 21. Okt 2003, 21:01
Hi,
probier doch mal statt FindField die Methode FieldByName zu benutzen.

Gruß,
Tom
  Mit Zitat antworten Zitat
Benutzerbild von r_kerber
r_kerber

Registriert seit: 11. Feb 2003
Ort: Trittau
3.538 Beiträge
 
Delphi XE Professional
 
#8

Re: SQL Insert

  Alt 22. Okt 2003, 13:55
Hallo Hansa,

von welchem Typ ist eigentlich MyDataSet?
  Mit Zitat antworten Zitat
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#9

Re: SQL Insert

  Alt 22. Okt 2003, 18:11
IBDataSet
Gruß
Hansa
  Mit Zitat antworten Zitat
Benutzerbild von r_kerber
r_kerber

Registriert seit: 11. Feb 2003
Ort: Trittau
3.538 Beiträge
 
Delphi XE Professional
 
#10

Re: SQL Insert

  Alt 22. Okt 2003, 19:22
IBDataSet ist doch, wenn ich das richtig verstehe, dafür gedacht, die SQL-Statements eizugeben (SELECT, INSERT, UPDATE, DELETE). Vielleicht gibt es hier Probleme mit den Methoden, die für Tabellen gedacht sind. Versuche dasselbe doch mal mit einer IBTable.
  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 08:43 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