Avatar billede alpapa Nybegynder
11. august 2003 - 11:16 Der er 2 kommentarer og
2 løsninger

Samle en SQLstreng

Har 4 forskellige dropdown, som tilsammen skal virke som søgekriterie i min Access database.
Problemet er at det virker for bølvet at lave 15 forskellige SQL sætninger...

Hvis dropdown a er valgt ser SQL sætningen jo anderledes ud end hvis a,c og d er valgt.
Kan jeg samle min SQL sætning så jeg bliver fri for at lave alle disse 15 forskellige SQL sætninger.

Et eller andet med:

while() / foreach() / for()
{
string SQL += aargang.SelectedItem.Value + maaned.SelectedItem.Value + landsdel.SelectedItem.Value + spillested.SelectedItem.Value;
}

På forhånd tak

alpapa
Avatar billede dfens Nybegynder
11. august 2003 - 11:26 #1
if (aargang.SelectedItem.Value != String.Empty)
strWhere += "ID =" + aargang.SelectedItem.Value + " AND "

og så beskærer du strengen med 5 i enden, så du sletter den sidste " AND "
og smider den efter din "select * from tabel where "
Avatar billede quaser Nybegynder
11. august 2003 - 11:41 #2
Overvej at benytte System.Text.StringBuilder istedet for at ligge til din string.

Ex:
StringBuilder sb = new StringBuilder();
sb.Append("Select * from tabel where ");
if (aargang.SelectedItem.Value != String.Empty)
  sb.Append( "ID =" + aargang.SelectedItem.Value + " AND ");

// træk de 5 fra hvis der har været en kriterie.
sb.Append( "Order by ID");
Avatar billede dfens Nybegynder
11. august 2003 - 11:44 #3
del evt. din string/stringbuilder op i 2, så kan du trække de sidste fem fra hvis din strWhere ikke er String.Empty
Avatar billede alpapa Nybegynder
11. august 2003 - 16:25 #4
Great - takker

alpapa
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