AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Ergebnis von AdoCommand?
Thema durchsuchen
Ansicht
Themen-Optionen

Ergebnis von AdoCommand?

Ein Thema von fkerber · begonnen am 30. Jul 2007 · letzter Beitrag vom 31. Jul 2007
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von fkerber
fkerber
(CodeLib-Manager)

Registriert seit: 9. Jul 2003
Ort: Ensdorf
6.723 Beiträge
 
Delphi XE Professional
 
#1

Ergebnis von AdoCommand?

  Alt 30. Jul 2007, 15:00
Datenbank: Access • Version: 2007 • Zugriff über: ADO
Hi!

Ich hab da ein kleines Problem und habe leider auch im Forum keine Lösung gefunden...

Ich habe eine AdoConnection und ein AdoCommand. Mit letzterem führe ich ein Insert auf meine Access-DB aus. Allerdings wüsste ich schon gerne, ob das ganze von Erfolg gekrönt war.

Es kann ja dann nicht Sinn der Sache sein, danach eine Query auszuführen und den eingetragenen Datensatz zu suchen, oder?

Ich ging davon aus, dass im _recordset, das von AdoCommand.Execute zurückgeliefert wird, drinsteht was passiert ist (z.B. über RecordSet)

Jeglicher Zugriffsversuch endet allerdings mit:

Zitat:
Im Projekt Userverwaltung.exe ist eine Exception der Klasse EOleException mit der Meldung 'Der Vorgang ist für ein geschlossenes Objekt nicht zugelassen' aufgetreten.

Der gesamte Quelltext:

Delphi-Quellcode:
        command:=TAdoCommand.Create(self);
        command.connection:=dbconn.DataModule1.ADOConnection1;
        command.Parameters.AddParameter;
        command.Parameters.AddParameter;
        command.Parameters[0].Value:=Edt_NewUser.Text;
        command.parameters[0].Name:='user';
        command.Parameters[1].Value:=Edt_NewPass.Text;
        command.parameters[1].Name:='pass';
        Command.CommandText:='insert into users ([user],[password]) values (:user,:pass)';
        rs:=Command.Execute; //var rs: _recordset
        showmessage(inttostr(rs.RecordCount));
Wie macht man das richtig?


Ciao, Frederic
Frederic Kerber
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: Ergebnis von AdoCommand?

  Alt 30. Jul 2007, 15:05
Bei .Execute() wird ja keine Ergenismenge erzeugt. Außerdem liefert dein Abfrage ja auch kein Ergebnis
Markus Kinzler
  Mit Zitat antworten Zitat
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.270 Beiträge
 
Delphi 10.4 Sydney
 
#3

Re: Ergebnis von AdoCommand?

  Alt 30. Jul 2007, 15:05
Hallo,

Execute kann bei bestimmten Befehlen ein Recordset zurückgeben,
Insert gehört aber nicht dazu.

Ich würde mal RecordsAffected versuchen,
es hängt aber von der Datenbank ab, ob sie das auch unterstützt.


Heiko
Heiko
  Mit Zitat antworten Zitat
Benutzerbild von fkerber
fkerber
(CodeLib-Manager)

Registriert seit: 9. Jul 2003
Ort: Ensdorf
6.723 Beiträge
 
Delphi XE Professional
 
#4

Re: Ergebnis von AdoCommand?

  Alt 30. Jul 2007, 15:11
Hi!

Ah, dann war das ein gedanklicher Fehler meinerseits.

Ich dachte, es würde immer zurückgeliefert, was eingefügt oder geupdatet o.ä. wurde...


Ok, dann schaue ich mal nach RowsAffected!
Gesetzt den Fall, das geht nicht, wie geht man denn sicher, dass das Insert funktioniert hat?


Ciao, Frederic
Frederic Kerber
  Mit Zitat antworten Zitat
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.270 Beiträge
 
Delphi 10.4 Sydney
 
#5

Re: Ergebnis von AdoCommand?

  Alt 30. Jul 2007, 15:17
Hallo,

wie du es schon gesagt hattest,
mit Nachschauen.

Bei einer richtigen Datenbank
sollte ein Commit der Connection reichen,
bei Access ? naja


Heiko
Heiko
  Mit Zitat antworten Zitat
Benutzerbild von fkerber
fkerber
(CodeLib-Manager)

Registriert seit: 9. Jul 2003
Ort: Ensdorf
6.723 Beiträge
 
Delphi XE Professional
 
#6

Re: Ergebnis von AdoCommand?

  Alt 30. Jul 2007, 15:22
Hi!

Zitat von hoika:
Bei einer richtigen Datenbank
sollte ein Commit der Connection reichen,
bei Access ? naja

Ich habe keine Wahl, der Auftraggeber wünscht Access...

Und o.g. geht bei Access-DB nicht?


Ciao, Frederic
Frederic Kerber
  Mit Zitat antworten Zitat
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.270 Beiträge
 
Delphi 10.4 Sydney
 
#7

Re: Ergebnis von AdoCommand?

  Alt 30. Jul 2007, 15:37
Hallo,

Commit oder RowsAffected ?

Zum Commit, Access ist eine Desktop-Datenbank ...
Soll ich noch mehr sagen ?

- direkter Dateizugriff
(Netzwerk weg, Daten weg)

- mehrbenutzerfähig vielleicht bis 5 Clients gleichzeitig
hängt aber stark von der Anwendung ab

usw.


Heiko
Heiko
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#8

Re: Ergebnis von AdoCommand?

  Alt 30. Jul 2007, 15:40
Zitat:
Ich habe keine Wahl, der Auftraggeber wünscht Access...
Dann sollte man ihn mal über die diversen Probleme/Nachteile von Access aufklären!
Markus Kinzler
  Mit Zitat antworten Zitat
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.270 Beiträge
 
Delphi 10.4 Sydney
 
#9

Re: Ergebnis von AdoCommand?

  Alt 30. Jul 2007, 15:47
Hallo,

wünscht der Access als Datenbank oder als Entwicklungsumgebung.
Falls zweiteres, es gibt Access-Project,
damit kann man als Datenbank mssql (auch Express) benutzen,
bleibt aber in Access (Foms, Designer, Reports).

Das ganze ist allerdings nicht 100% kompatible,
also entweder Access-Project mit mssql als DB
oder Access pur mit Access als DB.


Heiko
Heiko
  Mit Zitat antworten Zitat
Benutzerbild von fkerber
fkerber
(CodeLib-Manager)

Registriert seit: 9. Jul 2003
Ort: Ensdorf
6.723 Beiträge
 
Delphi XE Professional
 
#10

Re: Ergebnis von AdoCommand?

  Alt 30. Jul 2007, 22:30
Hi!

Access als DB...
Jegliche Versuche, ihn von etwas anderem zu überzeugen scheiterten, da er der Meinung ist, selbst genug Ahnung zu haben....

Dann bleibt wohl danach nicht anderes als ein SELECT blabla übrig?!
Sehe ich das richtig?


Ciao, Frederic
Frederic Kerber
  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 14:11 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