Hai Ati,
noch als anmerkung zu der Aussage von shmia
Zitat von
shmia:
1.) die Tabelle, in der du löschen willst braucht einen Primärschlüssel. Ohne PK geht's nicht !!
Dies ist so wenn Du mit der .Delete Methode deines TDataSet arbeiten möchtest. Wenn Du dir mit einem Zusätzlichen TDataSet den Datensatz per
SQL-Befehl löschst brauchst Du kein PK.
Was deine Fehlermeldung nach dem .Refresh angeht denke ich mal Das Du folgendes machst:
Delphi-Quellcode:
begin
with qrMain
do
begin
Close;
SQL.Text := '
SELECT * FROM tabelle';
Open;
// Jetzt werden die Daten im DBGrid angezeigt;
SQL.Text := '
DELETE FROM tabelle WHERE nummer = 1';
// Datensatz wo nummer = 1 ist löschen
ExecSQL;
Refresh;
// Peng!!!
end;
end
Das Refresh kann nicht gehen da Du ja jetzt ein ganz anderes
SQL-Statment hast. Du müsstest das ganze also auf zwei
Query aufteilen:
Delphi-Quellcode:
begin
with qrMain
do
begin
Close;
SQL.Text := '
SELECT * FROM tabelle';
Open;
// Jetzt werden die Daten im DBGrid angezeigt;
end;
with qrDelete
do
begin
Close;
SQL.Text := '
DELETE FROM tabelle WHERE nummer = 1';
// Datensatz wo nummer = 1 ist löschen
ExecSQL;
end;
qrMain.Refresh;
end
Stephan B.
"Lasst den Gänsen ihre Füßchen"