AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi QuotedStr und sql-update
Thema durchsuchen
Ansicht
Themen-Optionen

QuotedStr und sql-update

Ein Thema von markon · begonnen am 13. Okt 2003 · letzter Beitrag vom 13. Okt 2003
Antwort Antwort
markon

Registriert seit: 12. Sep 2003
229 Beiträge
 
#1

QuotedStr und sql-update

  Alt 13. Okt 2003, 17:42
hallo.
hier erst ma der quelltext:
Delphi-Quellcode:
 DM_Tabelle.adoquery1.active:=false;
 DM_Tabelle.adoquery1.sql.clear;
 { nach Name sortieren a -> z }
 {DM_Tabelle.adoquery1.sql.add('select * from tabelle1 order by name  asc');}

 try
  DM_Tabelle.adoQuery1.Sql.Add('UPDATE tabelle1 SET Name='+QuotedStr(EditName.Text)+' WHERE name = '+ QuotedStr('irgendwas')+'');
 except
  messagedlg('Irgendwas passt nicht',mterror,[mbok],0);
 end;

 DM_Tabelle.adoquery1.active:=true;
im großen und ganzen funktioniert der update-befehl, nur kommen fehlermeldungen. schaue ich mir danach die datenbank an, ist aber der entsprechende wert geändert. das ist lästig. wo mache ich einen fehler?!

schreibe ich im anschluss folgenden befehle, so werden diese einfach ignoriert:
Delphi-Quellcode:
 DM_Tabelle.adoquery1.active:=false;
 DM_Tabelle.adoquery1.sql.clear;
 DM_Tabelle.adoquery1.sql.add('select * from tabelle1 order by punkte desc');

 DM_Tabelle.adoquery1.active:=true;
was mache ich falsch? ist der update befehl so richtig?!

gruß
marcus
  Mit Zitat antworten Zitat
Honie

Registriert seit: 27. Sep 2003
Ort: Bielefeld
39 Beiträge
 
Delphi 7 Enterprise
 
#2

Re: QuotedStr und sql-update

  Alt 13. Okt 2003, 17:49
Welche Fehlermeldungen?

In der WHERE Klausel sollte das Kriterium stehen, welche Datensätze Du ändern willst,
also bei einem Datensatz normalerweise der Primary Key.

Vielleicht solltest Du vor dem Update das alte SQL Statement mit .Clear wieder löschen.
  Mit Zitat antworten Zitat
markon

Registriert seit: 12. Sep 2003
229 Beiträge
 
#3

Re: QuotedStr und sql-update

  Alt 13. Okt 2003, 17:54
es kommt folgende meldung:
AdoQuerry1: CommandText does not return a result set aber der wert wird ja in die datenbank eingetragen, komisch

kann man den sql-befehl auch notfalls anders hinbekommen?
  Mit Zitat antworten Zitat
Honie

Registriert seit: 27. Sep 2003
Ort: Bielefeld
39 Beiträge
 
Delphi 7 Enterprise
 
#4

Re: QuotedStr und sql-update

  Alt 13. Okt 2003, 18:13
Ok,

Normalerweise erwartet ein geöffnete Datenmange, dass als Ergebnis Datensätze zurückgeliefert werden.

Wenn Du jetzt ein Delete,Update oder Insert machst, wird kein Ergebnis zurückgeliefert - die
Aktion aber selbstverständlich ausgeführt.

Wie es bei Ado ist, weiss ich leider nicht, aber bei einer TQuery kannst Du entweder mit Open (Active := true) die Datenmenge öffnen, wenn Du Datensätze als Ergebnis erwartest oder TQuery geschlossen halten und mit ExecSQL ein SQL-Statement absetzen, was keine Datenmenge zurückliefert.
Bei ADO musst Du mal in der Hilfe nach ExecSQL oder RunSQL oder ähnlichen suchen.
Dann darfst Du die Datenmenge nicht aktivieren (active := true) sondern nur mit diesem Befehl (ExecSQL) den Befehl absetzen.


Geht nicht: (natürlich nur beim aktuellen Datensatz)

Adoquery.Edit;
Adoquery.FieldByName('Name').AsString := 'irgendetwas'
Adoquery.Post;

??????
  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 04:40 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