Avatar billede nielsbrinch Nybegynder
15. december 2003 - 19:09 Der er 7 kommentarer og
1 løsning

Specialsyntaks til at omdanne bool til 0/1

Jeg har lige et syntaksspørgsmål.

Jeg bruger TINYINT i min MySQL-database til at simulere boolske værdier - jeg kalder altså sandt/falsk for 1/0. I mine objekter i mit program bruger jeg derimod 'bool'.

Jeg vil gerne undervejs i SQL-teksten, omdanne min værdi "true" til 1 og min værdi "false" til 0.

Jeg kunne selvfølgelig lave en if-sætning lige inden kaldet, noget i retningen af:

int dbNoget = 0;
if (a.Noget) dbNoget = 1;

og så indsætte dbNoget i min sql-tekst, men jeg tænker der måske er en endnu bedre syntaks så jeg kan lægge betingelsen direkte ind i min streng.

Sådan ser mit databasekald helt konkret ud:

Database.Update("INSERT INTO account (username, password, active) VALUES ('"+a.Username+"', '"+a.Password+"', "+a.Active+";");

Men a.Active giver jo "true" eller "false" (og det skal de, vi skal ikke lave om i Property'en). Så for at gøre en lang historie lidt kortere:

Er der en syntaks som jeg kan bruge, hvor jeg sætter en betingelse ind midt i min tekst, måske noget i retningen af, bare med en anden syntaks:

"Denne påstand er "+if(Noget) value = 1 else value = 0;
Avatar billede erikjacobsen Ekspert
15. december 2003 - 19:10 #1
du kan vel lave en lille funktion
Avatar billede arne_v Ekspert
15. december 2003 - 19:14 #2
"Denne påstand er " + (Noget?1:0)

måske ?
Avatar billede odegaard Nybegynder
15. december 2003 - 19:15 #3
kan du ikke caste den til en int?
Avatar billede arne_v Ekspert
15. december 2003 - 19:17 #4
boolean b;
int i = b?1:0;

og den anden vej:

int i;
boolean b = (i==1);
Avatar billede nielsbrinch Nybegynder
15. december 2003 - 19:18 #5
Ja, jeg kan lave en lille funktion, det er klart. Men jeg vil have syntaksen!

Det var netop hvad arne skrev jeg ledte efter - og det virker endda. Tak for hjælpen.
Avatar billede arne_v Ekspert
15. december 2003 - 19:21 #6
Så vil jeg ligge et svar.

Jeg har iøvrigt aldrig været specielt glad for den tertiære operator.

Men nogen gange simplificerer den syntax.
Avatar billede arne_v Ekspert
15. december 2003 - 19:21 #7
.
Avatar billede nielsbrinch Nybegynder
15. december 2003 - 19:22 #8
Det er bare rart at bruge den der, når jeg lige om lidt skal lave hundredevis af den slags
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