AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Im DBGrid soll anstelle von 1234,23 - 1.234,23 erscheinen
Thema durchsuchen
Ansicht
Themen-Optionen

Im DBGrid soll anstelle von 1234,23 - 1.234,23 erscheinen

Ein Thema von m-werk · begonnen am 6. Aug 2002 · letzter Beitrag vom 8. Aug 2002
Antwort Antwort
Seite 2 von 2     12   
m-werk

Registriert seit: 14. Jun 2002
215 Beiträge
 
Delphi 2009 Architect
 
#11
  Alt 8. Aug 2002, 10:14
Hi, ich habe, wenn ich das Prog. jetzt compiliere, folgende Fehlermeldungen:


Undefinierter Bezeichner: 'ParamByName'
Undefinierter Bezeichner: 'KundenNr'
Undefinierter Bezeichner: 'ExexSQL'
Undefinierter Bezeichner: 'RowsEffected'

Wenn ich anstelle von ParamByName - FieldByName eingebe, dann
kommt zwar die 1. Fehlermeldung nicht mehr, aber alle anderen sehr wohl.

Was hab ich da vergessen?
Grüße, m-werk
  Mit Zitat antworten Zitat
Benutzerbild von MrSpock
MrSpock
(Co-Admin)

Registriert seit: 7. Jun 2002
Ort: Owingen
5.865 Beiträge
 
Delphi 2010 Professional
 
#12
  Alt 8. Aug 2002, 10:23
Hallo m-werk,

nein, FieldByName ist was anderes. Du musst schon ParamByName verwenden. Kannst du bitte mal den Code posten?

Ich habe D5, so dass ich nicht mit ADO Komoponenten arbeite, sondern mit der Standard TQuery Kompo, aber die sollten sich eigentlich nicht so drastisch voneinander unterscheiden. Ich vermute eher einen Fehler im Code (with - Anweisung oder so...)
Albert
Live long and prosper


MrSpock
  Mit Zitat antworten Zitat
m-werk

Registriert seit: 14. Jun 2002
215 Beiträge
 
Delphi 2009 Architect
 
#13
  Alt 8. Aug 2002, 11:13
Ich poste den Code heute am abend!
Grüße, m-werk
  Mit Zitat antworten Zitat
m-werk

Registriert seit: 14. Jun 2002
215 Beiträge
 
Delphi 2009 Architect
 
#14
  Alt 8. Aug 2002, 19:20
Hi, so sieht der Code bei mir aus:

Code:
procedure TDM.ADOSHauptAfterDelete(DataSet: TDataSet);
begin
      DM.DelQry.ParamByName('KNr').AsString := KundenNr;
      DM.DelQry.ExexSQL;
      ShowMessage(IntToStr(DM.DelQry.RowsEffected)+' Datensätze gelöscht.');
end;
Noch eine fehlermeldung habe ich

'Operator oder Semikolon fehlt' Diese erscheint nach dem AsString

Muß ich bei der DelQry eine DataSource angeben? wenn ja, welche?
Muß ich für jede Tabelle eine eigene ADOQuery erstellen?

Die Fehlermeldung bei ExexSQL kommt jetzt nicht mehr.

Wenn ich jetzt z.B. DM.DelQry. eingebe, kommt immer ein Infofenster, wo ich dann gewisse sachen auswählen kann. Es steht dort aber kein ParamByName
Ich habe in der Hilfe auch gesehen, dass ParamByName nicht für ADO ist. Gibts da nen anderen Befehl?

Das gleiche ist bei RowsEffected. Zu RowsEffected habe ich nicht einmal eine Hilfe gefunden. Mir scheint, diesen Befehl giebt es gar nicht. Ich habe aber RowsAffected gefunden. Dies müßte funktionieren (Ich verwende Delphi6)

Das mit der Fehlermeldung KundenNr habe ich glaube ich auch gefunden. Ich habe die KundenNr unter '' gesetzt.
Grüße, m-werk
  Mit Zitat antworten Zitat
Benutzerbild von MrSpock
MrSpock
(Co-Admin)

Registriert seit: 7. Jun 2002
Ort: Owingen
5.865 Beiträge
 
Delphi 2010 Professional
 
#15
  Alt 8. Aug 2002, 21:03
Hallo m-werk,

ja, da hab ich mich tatsächlich verschrieben. Es muss RowsAffected heißen.

Wenn ParamByName nicht für ADO Komponenten gilt, weiß ich leider nicht, wie man dort auf Parameter zugreift. Vielleicht findest du unter ADOQuery irgendein Hinweis, wie man auf Parameter zugreifen kann.

KundenNr darfst du auf keinen Fall in '' setzen, da du ja den Wert dieser Variablen haben willst. Du musst KundenNr als String deklarieren, z.B. im DatenModul.

Du kannst für jede Tabelle eine Query einsetzen oder du setzt den Tabellennamen in eine eigene Zeile:

Code:
DELETE FROM
Tabelle2 
WHERE KNr = :KNr
Dann kannst du einfach in einer Schleife jeweils DelQry.SQL.Strings[1]den Tabellen Namen der Tabelle zuweisen, in der du die Einträge löschen willst.

DataSource muss nicht gesetzt werden, sondern nur DatabaseName.
Albert
Live long and prosper


MrSpock
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


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 13:05 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