boolean variable as null
-
Hello all, I am working on debugging a web application. I need to make a boolean value equal to true, false or null. Is it possible to make it null?
I don't believe you can set a boolean to null. Why do you need to set it to null, why will false not suffice?
I get all the news I need from the weather report - Paul Simon (from "The Only Living Boy in New York")
-
Hello all, I am working on debugging a web application. I need to make a boolean value equal to true, false or null. Is it possible to make it null?
-
Duh, same as setting an int to null :-O
I get all the news I need from the weather report - Paul Simon (from "The Only Living Boy in New York")
-
Hello all, I am working on debugging a web application. I need to make a boolean value equal to true, false or null. Is it possible to make it null?
You should set set it to false. Boolean is supposed to hold either true or false.
"Real programmers just throw a bunch of 1s and 0s at the computer to see what sticks" - Pete O'Hanlon
-
You should set set it to false. Boolean is supposed to hold either true or false.
"Real programmers just throw a bunch of 1s and 0s at the computer to see what sticks" - Pete O'Hanlon
If he's going to be grabbing the value from a database, null could be a "valid" entry.
-
You should set set it to false. Boolean is supposed to hold either true or false.
"Real programmers just throw a bunch of 1s and 0s at the computer to see what sticks" - Pete O'Hanlon
The problem is that the application is already built to use boolean values. The user has a section where they chose an option from two drop down boxes. Based on what they select there are two check boxes that are either enabled or not. The user wants to see the results of these choices in the reporting as true equal yes and false equaling no and if it is not enabled they want it to show a blank. the way that it is designed right now is it uses a findcontrol on the check boxes, which returns true or false no matter if it is enabled or not. It then takes that true/false and puts it into the database table. I first thought to just put the assignment into an if statement checking to see if it is enabled. If not then I would not assign anything to that value in the table. This will work for the first time creation of this but the user can go back later and change their answers and this will not change the value that is in the table.
-
If he's going to be grabbing the value from a database, null could be a "valid" entry.
There is always that possibility. But based on his reply to this post, I am not sure if that's the case.
"Real programmers just throw a bunch of 1s and 0s at the computer to see what sticks" - Pete O'Hanlon
-
The problem is that the application is already built to use boolean values. The user has a section where they chose an option from two drop down boxes. Based on what they select there are two check boxes that are either enabled or not. The user wants to see the results of these choices in the reporting as true equal yes and false equaling no and if it is not enabled they want it to show a blank. the way that it is designed right now is it uses a findcontrol on the check boxes, which returns true or false no matter if it is enabled or not. It then takes that true/false and puts it into the database table. I first thought to just put the assignment into an if statement checking to see if it is enabled. If not then I would not assign anything to that value in the table. This will work for the first time creation of this but the user can go back later and change their answers and this will not change the value that is in the table.
Here is part of the code that I am talking about: CheckBox chkPU = (CheckBox)dgi.FindControl(c_grd_ctrl_id_chkPU); CheckBox chkCP = (CheckBox)dgi.FindControl(c_grd_ctrl_id_chkCP); . . . . vudr.INCL_PERS_USE_IND = chkPU.Checked; vudr.COMN_CRY_PSGR_IND = chkCP.Checked;
-
The problem is that the application is already built to use boolean values. The user has a section where they chose an option from two drop down boxes. Based on what they select there are two check boxes that are either enabled or not. The user wants to see the results of these choices in the reporting as true equal yes and false equaling no and if it is not enabled they want it to show a blank. the way that it is designed right now is it uses a findcontrol on the check boxes, which returns true or false no matter if it is enabled or not. It then takes that true/false and puts it into the database table. I first thought to just put the assignment into an if statement checking to see if it is enabled. If not then I would not assign anything to that value in the table. This will work for the first time creation of this but the user can go back later and change their answers and this will not change the value that is in the table.
ltmnm wrote:
it is not enabled
If it is the checkbox that you are talking about, then you have to check the enabled property if it is true or false. If you need to have the dropdown show a blank when the checkbox is not enabled, then you just need to add the logic to check for that. Don't confuse
Checked
property withEnabled
..."Real programmers just throw a bunch of 1s and 0s at the computer to see what sticks" - Pete O'Hanlon
-
ltmnm wrote:
it is not enabled
If it is the checkbox that you are talking about, then you have to check the enabled property if it is true or false. If you need to have the dropdown show a blank when the checkbox is not enabled, then you just need to add the logic to check for that. Don't confuse
Checked
property withEnabled
..."Real programmers just throw a bunch of 1s and 0s at the computer to see what sticks" - Pete O'Hanlon
Sorry, I should be more clear. The drop down boxes are just answers that go into the database. the code also checks to see if the check boxes are checked and then stores that in the database as well. It returns false when the check box is not checked even if the check box is not enabled. The data that is in the table is then queried and used for reporting services. In those reports the user wants to see yes when the check box is checked and no when it is not. They also want to see just a blank for when the check box was not enabled. So, I am just trying to see if there is a way to make a boolean value equal true, false and anything else that could represent the check box not being enabled. Hope that helps clear things up a little. thank you for all your help.
-
Sorry, I should be more clear. The drop down boxes are just answers that go into the database. the code also checks to see if the check boxes are checked and then stores that in the database as well. It returns false when the check box is not checked even if the check box is not enabled. The data that is in the table is then queried and used for reporting services. In those reports the user wants to see yes when the check box is checked and no when it is not. They also want to see just a blank for when the check box was not enabled. So, I am just trying to see if there is a way to make a boolean value equal true, false and anything else that could represent the check box not being enabled. Hope that helps clear things up a little. thank you for all your help.
The only way you can represent the checkbox not being enabled is testing for
CheckBox.Enabled = false
..."Real programmers just throw a bunch of 1s and 0s at the computer to see what sticks" - Pete O'Hanlon
-
The only way you can represent the checkbox not being enabled is testing for
CheckBox.Enabled = false
..."Real programmers just throw a bunch of 1s and 0s at the computer to see what sticks" - Pete O'Hanlon
right, that's why I tried this: if(chkPU.Enabled) vudr.INCL_PERS_USE_IND = chkPU.Checked; else vudr.INCL_PERS_USE_IND = null; problem is that this: vudr.INCL_PERS_USE_IND is expecting a boolean value. I wanted to see if there was an easy way to make this happen to assign any other value other than true or false. I guess I will have to start re-coding everything to use a diff value.
-
right, that's why I tried this: if(chkPU.Enabled) vudr.INCL_PERS_USE_IND = chkPU.Checked; else vudr.INCL_PERS_USE_IND = null; problem is that this: vudr.INCL_PERS_USE_IND is expecting a boolean value. I wanted to see if there was an easy way to make this happen to assign any other value other than true or false. I guess I will have to start re-coding everything to use a diff value.
-
right, that's why I tried this: if(chkPU.Enabled) vudr.INCL_PERS_USE_IND = chkPU.Checked; else vudr.INCL_PERS_USE_IND = null; problem is that this: vudr.INCL_PERS_USE_IND is expecting a boolean value. I wanted to see if there was an easy way to make this happen to assign any other value other than true or false. I guess I will have to start re-coding everything to use a diff value.
Take a look at Martin#'s suggestion. It sounded like to me you needed to populate the dropdowns, there's probably many ways to achieve what you are trying to do.
"Real programmers just throw a bunch of 1s and 0s at the computer to see what sticks" - Pete O'Hanlon
-
If he's going to be grabbing the value from a database, null could be a "valid" entry.
Then you can use DBNull. That's the whole reason that class exists.
Try code model generation tools at BoneSoft.com.
-
You should set set it to false. Boolean is supposed to hold either true or false.
"Real programmers just throw a bunch of 1s and 0s at the computer to see what sticks" - Pete O'Hanlon
I can think of some situation where I might really want a boolean, but to know that it hasn't been initialized yet. Nullable boolean makes sense sometimes.
Try code model generation tools at BoneSoft.com.
-
right, that's why I tried this: if(chkPU.Enabled) vudr.INCL_PERS_USE_IND = chkPU.Checked; else vudr.INCL_PERS_USE_IND = null; problem is that this: vudr.INCL_PERS_USE_IND is expecting a boolean value. I wanted to see if there was an easy way to make this happen to assign any other value other than true or false. I guess I will have to start re-coding everything to use a diff value.
to store three possible states one boolean is clearly insufficient. they invented boolean? for this when C# 2.0 was launched but I would also consider using a pair of booleans, one for hasValue, one for value. that seems the most logical approach in your case. Anyhow, you need to make sure the three states somehow get stored in the DB too. :)
Luc Pattyn
try { [Search CP Articles] [Search CP Forums] [Forum Guidelines] [My Articles] } catch { [Google] }
-
I don't believe you can set a boolean to null. Why do you need to set it to null, why will false not suffice?
I get all the news I need from the weather report - Paul Simon (from "The Only Living Boy in New York")
Justin Perez wrote:
Why do you need to set it to null, why will false not suffice?
I would imaging that something can be true, something can be false and something can be unknown (hence null). There is a distict semantic difference between false and unknown. I used a language, many years ago, that had the key words
true
,false
andmaybe
which was used by functions likePointInPolygon(somePoint, somePolygon)
the result wastrue
if the point was inside the polygon,false
if outside the polygon andmaybe
if it was on the line.
Upcoming events: * Glasgow: Mock Objects, SQL Server CLR Integration, Reporting Services, db4o, Dependency Injection with Spring ... "I wouldn't say boo to a goose. I'm not a coward, I just realise that it would be largely pointless." My website
-
You should set set it to false. Boolean is supposed to hold either true or false.
"Real programmers just throw a bunch of 1s and 0s at the computer to see what sticks" - Pete O'Hanlon
There is a clear semantic difference between
null
andfalse
.null
typically represents unknown information.
Upcoming events: * Glasgow: Mock Objects, SQL Server CLR Integration, Reporting Services, db4o, Dependency Injection with Spring ... "I wouldn't say boo to a goose. I'm not a coward, I just realise that it would be largely pointless." My website