[Mono-list] Cast a char(1) to a boolean
Cory Nelson
Cory Nelson <phrosty@gmail.com>
Sat, 23 Oct 2004 17:50:58 -0700
what type is it? find out with object.GetType().ToString() and go from there.
i dont see how this would cause a problem, but have you tried using a
byte? last i checked mysql doesn't use unicode.
On Sat, 23 Oct 2004 12:16:23 -0700, Eric Damron <edamron@spamcop.net> wrote:
> Iain McCoy wrote:
>
>
>
> >On Sat, 2004-10-23 at 07:22 +0200, Sijmen Mulder wrote:
> >
> >
> >>Hi,
> >>
> >>
> >>
> >>>I was told to use a char(1) in a MySQL database since it doesn't have a
> >>>boolean type. I retrieve a char(1) field but I can't seem to cast it to
> >>>be a boolean. How is this done?
> >>>
> >>>
> >>try:
> >>
> >>bool thebool = (int)thechar==0 ? false : true;
> >>
> >>
> >>
> >Ow, ow. It hurts.
> >
> >Okay, I'm exaggerating. It's not really that bad, but that code is, as
> >far as I can see, needlessly complicated. All you need to do is this:
> >bool thebool = (thechar == 'T');
> >That's assuming you define an uppercase T to represent true, and
> >everything else to be a false.
> >
> >This might be a better definition:
> >bool thebool = (thechar != '\0');
> >
> >Basically, just pick some character to be either true or false, and test
> >for that. Assign the result of a test to a boolean.
> >
> >I'm fairly sure that that's the sanest approach to take.
> >
> >
> Thanks for your replys. I'm still having a problem. Here is a code
> snippit:
>
> ds = dbManager.GetState(ref conn);
> dt = ds.Tables[0];
> foreach (DataRow dr in dt.Rows)
> {
> if ((char)dr[ "running"] == 'T')
> {
> this.ProcessRecords(dr);
> }
> }
>
> ds is a DataSet, dt is a DataTable and the value is being returned in an
> object of type DataRow. If I run it I get the runtime error:
> Unhandled Exception: System.InvalidCastException: Cannot cast from
> source type to destination type.
>
> Thanks
>
>
> _______________________________________________
> Mono-list maillist - Mono-list@lists.ximian.com
> http://lists.ximian.com/mailman/listinfo/mono-list
>
--
Cory Nelson
http://www.int64.org