Velocity Reviews

Velocity Reviews (http://www.velocityreviews.com/forums/index.php)
-   ASP .Net (http://www.velocityreviews.com/forums/f29-asp-net.html)
-   -   Bitwise comparison in RowFilters (http://www.velocityreviews.com/forums/t380340-bitwise-comparison-in-rowfilters.html)

Mark Rae 10-07-2006 11:51 AM

Bitwise comparison in RowFilters
 
Hi,

This isn't *specifically* an ASP.NET question, so I've also posted it in the
ADO.NET group - however, it's not too far off-topic...

Imagine a SQL Server 2005 database with a table with an int column used for
bitwise data - you know the sort of thing... 0, 1, 2, 4, 8, 16 etc

intBitwise strName
----------------------
512 Mark
512 Juan
514 Ken
512 Peter
512 Marina

In T-SQL, the following query:

SELECT * FROM tblBitwise WHERE intBitwise & 2 = 2

returns, of course, only the third record from the table.

However, in C#, the following doesn't work:

<DataSet>.Tables[0].DefaultView.RowFilter = "intBitwise & 2 = 2";

The error message is: "The expression contains unsupported operator '&'.

Fair enough - there are loads of other ways to achieve the desired result.
However, I am now curious about RowFilter expressions and bitwise
operators...

A quick trawl through Google returns sites which say that bitwise operators
aren't supported in RowFilter expressions:
https://forums.microsoft.com/MSDN/Sh...62068&SiteID=1

And others which imply that they are:
http://66.102.9.104/search?q=cache:i...k&ct=clnk&cd=2

So, can anyone please confirm whether bitwise operators are or are not
supported in RowFilter expressions...?

Any assistance gratefully received.

Mark



Alvin Bruney [MVP] 10-07-2006 04:30 PM

Re: Bitwise comparison in RowFilters
 
Row filter accepts sql like expressions however these don't support the full
power of sql syntax. Row filter bitwise comparison is not supported which is
why you are getting the error.

Row State filters on the other hand support bitwise comparisons because that
type of syntax allows the row state to be more powerful.

rowfilters and rowstatefilters aren't the same thing and don't refer to the
same internal structure.
--
________________________
Warm regards,
Alvin Bruney [MVP ASP.NET]

[Shameless Author plug]
Professional VSTO.NET - Wrox/Wiley
The O.W.C. Black Book with .NET
www.lulu.com/owc, Amazon
Blog: http://www.msmvps.com/blogs/alvin
-------------------------------------------------------


"Mark Rae" <mark@markNOSPAMrae.com> wrote in message
news:eM9$bbg6GHA.4608@TK2MSFTNGP03.phx.gbl...
> Hi,
>
> This isn't *specifically* an ASP.NET question, so I've also posted it in
> the ADO.NET group - however, it's not too far off-topic...
>
> Imagine a SQL Server 2005 database with a table with an int column used
> for bitwise data - you know the sort of thing... 0, 1, 2, 4, 8, 16 etc
>
> intBitwise strName
> ----------------------
> 512 Mark
> 512 Juan
> 514 Ken
> 512 Peter
> 512 Marina
>
> In T-SQL, the following query:
>
> SELECT * FROM tblBitwise WHERE intBitwise & 2 = 2
>
> returns, of course, only the third record from the table.
>
> However, in C#, the following doesn't work:
>
> <DataSet>.Tables[0].DefaultView.RowFilter = "intBitwise & 2 = 2";
>
> The error message is: "The expression contains unsupported operator '&'.
>
> Fair enough - there are loads of other ways to achieve the desired result.
> However, I am now curious about RowFilter expressions and bitwise
> operators...
>
> A quick trawl through Google returns sites which say that bitwise
> operators aren't supported in RowFilter expressions:
> https://forums.microsoft.com/MSDN/Sh...62068&SiteID=1
>
> And others which imply that they are:
> http://66.102.9.104/search?q=cache:i...k&ct=clnk&cd=2
>
> So, can anyone please confirm whether bitwise operators are or are not
> supported in RowFilter expressions...?
>
> Any assistance gratefully received.
>
> Mark
>




Mark Rae 10-07-2006 05:13 PM

Re: Bitwise comparison in RowFilters
 
"Alvin Bruney [MVP]" <www.lulu.com/owc> wrote in message
news:%230FUd3i6GHA.3732@TK2MSFTNGP05.phx.gbl...

> Row filter accepts sql like expressions however these don't support the
> full power of sql syntax. Row filter bitwise comparison is not supported
> which is why you are getting the error.


That's what I thought...

> Row State filters on the other hand support bitwise comparisons because
> that type of syntax allows the row state to be more powerful.


OK.

> rowfilters and rowstatefilters aren't the same thing and don't refer to
> the same internal structure.


Of course.




All times are GMT. The time now is 03:01 AM.

Powered by vBulletin®. Copyright ©2000 - 2014, vBulletin Solutions, Inc.
SEO by vBSEO ©2010, Crawlability, Inc.