Avatar billede janbb Juniormester
19. juli 2004 - 06:30 Der er 9 kommentarer og
2 løsninger

ADOQuery delete

Har en DB (ADO-mdb).ADO-connection osv.
Har grupperet mine records 'lidt' af praktiske hensyn sådan at
en lang række af recordsene fx har et felt, der hedder 'gruppe'
og i det felt har jeg så skrevet det samme ord: f.x. 'ly'.
Jeg kan så med SQL lave listninger a la: select * from 'tabel1' where gruppe like 'ly' - og den slags.
Jeg kunne så tænke mig osse at bruge min 'velordentlige' database til at lave lidt 'masseoprydnibg' i grupperne jeg ikke bruger mere (der er en del records og det ville være 'møjsommeligt at slette dem enkeltvis).
Hvordan laver man en 'massedelete' uden at det bliver alt for kringlet.Der skal vel være noget 'indstilling' inden selve kommandoen ?.Prøver lidt forskelligt, men nu er spm sat op,
hvis det ikke lykkes.
Avatar billede snowball Novice
19. juli 2004 - 06:33 #1
Kan du ikke bare sætte din query til at lave en "DELETE FROM tabel1 WHERE gruppe LIKE '%ly%'" !?
Avatar billede snowball Novice
19. juli 2004 - 06:34 #2
Husk evt. lige at tage en backup af din database inden du begynder at eksperimentere med DELETE. Det er så træls at miste en hel tabel bare fordi man glemmer sin WHERE eller sådan noget ;)
Avatar billede janbb Juniormester
19. juli 2004 - 07:11 #3
Får denne fejlmeddelse:
*den enkelte provider understøtter ikke returnering af flere postsæt fra en enkelt udførelse"

Her er de procedurer jeg troede jeg kunne bruge;

procedure TForm1.FormCreate(Sender: TObject);
var ConStr: widestring;
begin
ConStr := 'Provider=Microsoft.Jet.OLEDB.4.0;'+
          'Data Source=C:\galleri\db2.mdb;'+
          'Persist Security Info=False';


DBGrid3.DataSource := DataSource1;
DataSource1.DataSet := ADOQuery1;
ADOQuery1.Connection := ADOConnection1;
ADOConnection1.ConnectionString := ConStr;
ADOConnection1.LoginPrompt:=False;

Edit2.Text:='DELETE FROM [vejledn] WHERE gruppe LIKE "ly"';

end;

procedure TForm1.BitBtn17Click(Sender: TObject);
begin
ADOQuery1.SQL.Text:=Edit2.Text;
ADOQuery1.Open;
end;
Avatar billede stoney Nybegynder
19. juli 2004 - 08:28 #4
Ændre ADOQuery1.Open til ADOQuery1.ExecSQL

Stoney
Avatar billede janbb Juniormester
19. juli 2004 - 09:09 #5
stoney:
ja det lykkedes faktisk.Tak.Smid et svar :)
Avatar billede stoney Nybegynder
19. juli 2004 - 15:58 #6
Jo tak, men Snowball skal vel have nogen af dem, han lavede jo det meste.

Stoney
Avatar billede snowball Novice
19. juli 2004 - 18:20 #7
;)
Avatar billede janbb Juniormester
20. juli 2004 - 03:13 #8
Snowball har mange points tilgode for sine svar :)
Avatar billede snowball Novice
20. juli 2004 - 09:16 #9
janbb: ? Fra folk der ikke lukker deres spørgsmål, eller hvad !? ;)
Avatar billede janbb Juniormester
20. juli 2004 - 19:29 #10
Næ, det jeg tænker på er at dine svar er mere geniale end de points der kan tildeles i ny og næ.Det er vist iøvrigt et af dine programmer der er grundlaget for det program, der ref stumper af her.Det er jo et af dine felter - ADO.
Avatar billede snowball Novice
20. juli 2004 - 19:50 #11
OK. Er glad for at kunne hjælpe :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester