Nope, already established that SplashDisabled is a tinyint:
http://img517.imageshack.us/img517/724/31661690.png
Edit:
Looks like my edit button has been enabled! Yay!
Printable View
Nope, already established that SplashDisabled is a tinyint:
http://img517.imageshack.us/img517/724/31661690.png
Edit:
Looks like my edit button has been enabled! Yay!
Well, I'm new to C#, I'm more used to PHP/MySql and usually when using php/mysql if i have a "on/off" value and am using something small as a 0/1 value i use a tiny int.
It usually gives me more flexibility than declaring it as a boolean as i can extend it later to take more than just 2 values but a LOT less than an int.
Are you suggesting I dont use tinyint anymore in C#? I'm not being sarcastic or anything, like i said i am new here (just started C# a few days back) and would genuinely like to know the answer from you guys who use this on a daily basis.
For something named "SplashDisabled", do you really think you will need "more flexibility" in the future? Sounds like a true or false value to me, anything more would just be confusing. Also, if you need more values you should use an enum, not a byte.
And yes, use an int. You are not saving anything in a practical sense by using a byte.
Hey,
Thanks for replying!
I agree, in this case "more flexibility" will probably never be needed, but its a habit I built up after working for some morons who kept changing their minds about what the data should do, and what values the DB's fields should hold.
As an example I can actually name you times I actually had to change the field names to suit the designers! (We were using SMARTY so we could all play along nicely.. but still it wouldnt do)
If I was still working for that company, SplashDisabled could possibly have been changed to SplashStatus (0-off, 1-on,2-default,3-on (but run google ads), 4-on but run house ads... etc)
Thats just it, i have never used a byte anywhere, only int and tinyint, but it still wont let me get the present value from the db and put it into an int... it insists on byte for some reason that is beyond me.. so i asked here. Looks like a bug on my machine for some reason as others here cant reproduce the same result even after looking at my code. :(
Since you're new to C# I'll explain once more. TinyInt is a byte in C#. A byte is not the same as an int. Therefore this will not compile:
However, this will:Code:namespace intbyte
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
int for_chkbox = 0;
byte SplashDisabled = 1;
SplashDisabled = for_chkbox;
}
}
}
As the error message is telling you, you need to cast the int as a byte.Code:namespace intbyte
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
int for_chkbox = 0;
byte SplashDisabled = 1;
SplashDisabled = (byte)for_chkbox;
}
}
}