Showing posts with label control. Show all posts
Showing posts with label control. Show all posts

Sunday, February 19, 2012

Filters - A good way to limit data at subscribers?

We use merge replication where data created at a control centre, then
modified in a filtered publication at the subscribers. We currently have
about 100 subscribers.
Publication is filter is WHERE LocationRef=XXX
We need to retain data at the control centre but not at subscribers, so does
it make sense to alter the filter to somthing like WHERE LocationRef=XXX AND
VisitDate>YYYY to achieve this, thereby reducing the data stored at each
subscriber?
Tony Toker
Data Identic Ltd.
This is not the correct way to do this.
What will happen is that data which is modified at the publisher or
subscriber will be merged if it meets the filtering criteria. However as the
data ages at the publisher or subscriber it will remain there, unless there
is a job which deletes/archives these rows so the merge replication process
will identify them as changed and then delete them from the publisher and
susbcriber. You would probably want to initiate the delete on the subscriber
to remove them there, but retail them on the publisher.
"Tony Toker" <xyzzy@.identic.co.uk> wrote in message
news:cqbl9o$dkv$1$8300dec7@.news.demon.co.uk...
> We use merge replication where data created at a control centre, then
> modified in a filtered publication at the subscribers. We currently have
> about 100 subscribers.
> Publication is filter is WHERE LocationRef=XXX
> We need to retain data at the control centre but not at subscribers, so
does
> it make sense to alter the filter to somthing like WHERE LocationRef=XXX
AND
> VisitDate>YYYY to achieve this, thereby reducing the data stored at each
> subscriber?
> Tony Toker
> Data Identic Ltd.
>

Filtering SqlDataSource to show all vs. non-null records

Hi -- I'm starting an ASP.NET 2.0 application which contains a page with a checkbox and gridview control on it. In its default state the gridview displays all the records from a table pulled from a SQL Server database (via a SqlDataSource object). When the user checks the checkbox, I want the gridview to display only the records where one of the columns is not null. But I've been unable to construct the WHERE clause of the SQLDataSource object correctly. I see that I can hard-code the SqlDataSource object so that the column to be filtered is always NULL or always NOT NULL. But I want this filtering to be more dynamic such that the decision to show all or non-null records happens at run-time. Should I be using two SqlDataSource objects -- one for the NOT NULL condition and one for the "all records" condition? Then when the user checks the checkbox, the gridview would be configured to point to the appropriate SqlDataSource object. (?) Seems like a bit of overhead with that approach. I'm hoping there's a more elegant way to get this done. Please let me know if you need more information. Thanks in advance.

Bill

Construct a better SELECT that uses a parameter.

SELECT ...

FROM ...

WHERE (@.ShowAll=1)

OR (@.ShowAll=0 AND (col1 IS NOT NULL OR col2 IS NOT NULL OR col3 IS NOT NULL))

|||Sweet. Thank you much.