Avatar billede juks Novice
28. januar 2008 - 20:56 Der er 8 kommentarer og
1 løsning

hvis på list 2 så skal den ikke skrive på list 1

hej er der en haj der kan hjælpe mig med denne. jeg henter 2 arraylist fra min Database det første  der står foran "," er begge cpr nr men fra 2 forskellige tabeller.

der er at hvis cpr nr findes på list2 skal den ikke skrive den på list1 ellers skal den . men hvordan gør jeg det nemmest?


ArrayList List2 = DataAccessWrite.reader("SELECT cpr,startnr FROM konkur_afholdt_tbl WHERE (((konkur_afholdt_tbl.KonID)= " +this.comboBox1.SelectedValue +"))");
            ArrayList List = DataAccessWrite.reader("SELECT skytte_tbl.cpr, skytte_tbl.Fornavn, skytte_tbl.Efternavn, Klub_tbl.klub, klasser_tbl.klasse_tekst FROM klasser_tbl INNER JOIN (Klub_tbl INNER JOIN skytte_tbl ON Klub_tbl.klubid = skytte_tbl.klubid) ON klasser_tbl.klasse_id = skytte_tbl.klasseid;");

            if (List.Count == 0)
            {
                MessageBox.Show("Det ikke muligt at vælge skytter til denne konkurrence");
            }
            else
                for (int i = 0; i < List2.Count; i++)
                {
                    this.listBox2.Items.Add(List2[i]);
                }

                for (int i = 0; i < List.Count; i++)
                {
                   
                    this.checkedListBox1.Items.Add(List[i]);
                }
Avatar billede a1a1 Novice
28. januar 2008 - 21:16 #1
en lille ting; du må ikke (i.flg. datatilsynet, have cpr. numre i din database (uden at de er krypteret) men fuck det...

Men

i den første vælger du nogen:

SELECT cpr,startnr FROM konkur_afholdt_tbl WHERE (((konkur_afholdt_tbl.KonID)= " +this.comboBox1.SelectedValue +"))

i den næste vælger du "bare" dem der ikke er med, f.eks:
SELECT cpr,startnr FROM konkur_afholdt_tbl WHERE NOT (((konkur_afholdt_tbl.KonID)= " +this.comboBox1.SelectedValue +"))");

?
Avatar billede juks Novice
28. januar 2008 - 21:26 #2
problemet er jeg skal have alle skytte med (måske 100 stk) fra Skytte_tbl
men dem der er i konkur_afholdt_tbl  skal så ikke være med i den liste, fordi man kan ikke sætte samme skytte på listen konkur_afholdt
Avatar billede a1a1 Novice
28. januar 2008 - 22:02 #3
jeg læste vist også lidt for hurtigt...

i den første sql
SELECT cpr,startnr FROM konkur_afholdt_tbl WHERE (((konkur_afholdt_tbl.KonID)= " +this.comboBox1.SelectedValue +"))

i nr. 2

SELECT skytte_tbl.cpr, skytte_tbl.Fornavn, skytte_tbl.Efternavn, Klub_tbl.klub, klasser_tbl.klasse_tekst FROM klasser_tbl
INNER JOIN (Klub_tbl INNER JOIN skytte_tbl ON Klub_tbl.klubid = skytte_tbl.klubid) ON klasser_tbl.klasse_id = skytte_tbl.klasseid WHERE NOT skytte_tbl.cpr IN (SELECT cpr,startnr FROM konkur_afholdt_tbl WHERE (((konkur_afholdt_tbl.KonID)= " +this.comboBox1.SelectedValue +")))

?
Avatar billede juks Novice
28. januar 2008 - 22:14 #4
Der mangler en ), ] eller et element i forespørgselsudtrykket "NOT skytte_tbl.cpr IN (SELECT cpr,startnr FROM konkur_afholdt_tbl WHERE (((konkur_afholdt_tbl.KonID)=1))"
Avatar billede juks Novice
28. januar 2008 - 22:16 #5
Der manglede bare en )

men nu får jeg denne fejl

Du har skrevet en underforespørgsel, der kan returnere mere end ét felt uden at bruge det reserverede ord EXISTS i hovedforespørgslens FROM-delsætning. Ret SELECT-sætningen i underforespørgslen, så den kun kræver et felt
Avatar billede juks Novice
28. januar 2008 - 22:19 #6
har løst det tak for hjælpen
Avatar billede a1a1 Novice
28. januar 2008 - 22:56 #7
skal jeg ligge et svar?, det gør jeg ;o)
Avatar billede juks Novice
28. januar 2008 - 23:01 #8
smider du et svar :)
Avatar billede a1a1 Novice
28. januar 2008 - 23:06 #9
jamen det har jeg jo gjort, og du har accepteret det ;o)))

håber at du kan forstå mit svar; du fravælger egentlig bare dem du ikke viller have med før

;o)
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
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

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