Autor Beitrag
Müscha
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 118



BeitragVerfasst: Di 14.03.06 00:32 
Guten Abend,

Ich würde gerne per Klick sämtliche Daten aus einer Datenbank (Access) löschen aber die Grundform soll enthaltenbleiben.

(Löschen einer Highscore)


ich habe es so probier

ausblenden Quelltext
1:
2:
 Table1.active:=false;
Table1.DeleteTable;


aber da löschst auch die Spalten und die EIgenschaften der spalten, dass will ich ja nich, ich will nur die daten löschen, wie ist sowas zu realisieren?


Danke Micha
Grenzgaenger
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Di 14.03.06 00:46 
setz doch einfach ein SQL ab...

delete * from table <deine tabelle>
damit solltest du die sorgen los sein, wo deine daten sind... ;-)
Müscha Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 118



BeitragVerfasst: Di 14.03.06 00:51 
wie macht man das,

ich hab keine Ahnung von SQL,

muss ich da ne neue Datenbank einbauen oder andere Einstellungen vornehmen,
denn so einfach in den quelltext schreiben funktioniert ja nich
hab ich schon oft gelesen,

kann mir aber nix darunter vorstellen...

wär nett wenn du mir das ganzkurz erklären könntest?
Grenzgaenger
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Di 14.03.06 01:07 
du nimmst einfach eine query (ado, query, etc.) und schreibst dann ungefähr folgendes


ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
q:= <querytyp>.create(nil);
q.database := <deine datenbank>
q.sql.clear;
q.sql.add('delete * from <deine tabelle>');
q.execsql;
q.free;


und schon ist deine tabelle leer, ganz ohne nebenwirkungen. als durchleiter kannst du wie gesagt einfach etwas nehmen was deinen SQL an die datebank weitergibt... liegt normal in deiner kompontenleiste verborgen.

noch viel erfolg.
Müscha Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 118



BeitragVerfasst: Di 14.03.06 01:18 
okay also ich hab jetzte ein ADOQuery eingebaut

und diesen quelltext:

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
procedure TForm4.Button1Click(Sender: TObject);

var q:real;                                 //als was muss q definiert werden?

begin


q:= adoquery1.create(nil);
q.database := Highscore
q.sql.clear;
q.sql.add('delete * from <deine tabelle>');     //was soll für Tabelle rein?
q.execsql;
q.free;

end;



DANKE

Moderiert von user profile iconraziel: Code- durch Delphi-Tags ersetzt
Grenzgaenger
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Di 14.03.06 01:24 
wenn du mit ADO arbeitest normal, tADOQuery... glaub so heisst diese.... als <deine tabelle> definierst du die tabelle die du löschen möchtst, ... z.b. MyHiScore

dann sollts funzen.

edit: bei problemen mit SQL schau doch einfach mal unter Suche bei Google SQL REFERENCE
Müscha Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 118



BeitragVerfasst: Di 14.03.06 01:32 
soweit sogut, jetzt hat der noch nen fehler bei


database undefinierter bezeichner, muss ich den auch noch ändern?
Grenzgaenger
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Di 14.03.06 01:40 
hallo müscha... dann schiebst halt deinen connection string, wie in deinen tADOTable in deine tADOQuery... dann kannst schon loslegen...