SQLDatasource not using SelectCommand from _Selecting Event.

J

John Kotuby

Hello again...

I have tried using the SQLDatsource control as part of a user control that
just conatins a Repeater and the SQLDatasource control which is designated
as the Datsource for the Repeater. I set it up just like in the
documentation.

--------------------------- code ----------------------------------------

<asp:Repeater ID="Repeater1" runat="server" DataSourceID="SqlDataSource1">

<asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$
ConnectionStrings:pCConnectionString %>"

DataSourceMode="DataSet" SelectCommand="Select * from table"
></asp:SqlDataSource>

--------------------------- code ----------------------------------------

Because I need a dynamic query determined at runtime I tried setting the
SelectCommand in the SqlDataSource1_Selecting event, which is SUPPOSED to
fire before the query is sent to the server. The code is below. Note that I
output the new contents of the SelectCommand in Response.Write. That
response line shows up at the very top of the page, yet the SQLDatasource1
insists on using the original SelectCommand in the declaration.

What am I doing wrong?

Thanks to all....

--------------------------- code ----------------------------------------

'This is run Before the Select command is sent to the Server

Protected Sub SqlDataSource1_Selecting(ByVal sender As Object, ByVal e As
System.Web.UI.WebControls.SqlDataSourceSelectingEventArgs) Handles
SqlDataSource1.Selecting

_selectCMD = " Select
SearchTitle,SearchDescription,sequence,dateUpdate,keywords " & _

" from user_searchCriteria where userid='" & Me.Session.Item("uid") & "'" &
_

" order by SearchTitle"

Me.SqlDataSource1.SelectCommand = _selectCMD

Response.Write(SqlDataSource1.SelectCommand)

End Sub

--------------------------- code ----------------------------------------
 
J

John Kotuby

Hi all..

Well the SP1 for VS2005 didn't fix the problem I was having so I took a
different approach. Instead of assigning the DataSource of the Repeater
during the declaration of the control I left it unassigned. For the
SQLDataSource control I left the SelectCommand unassigned. Instead, in the
associated source VB code-behind I did all that in the Page_Init event,
adding a DataBind() call, as follows:

Protected Sub Page_Init(ByVal sender As Object, ByVal e As System.EventArgs)
Handles Me.Init

_userID = Me.Session.Item("uid")

_selectCMD = " Select
SearchTitle,SearchDescription,sequence,dateUpdate,keywords " & _
" from user_searchCriteria where userid='" & Me.Session.Item("uid") &
"'" & _
" order by SearchTitle"

Me.SqlDataSource1.SelectCommand = _selectCMD

Me.Repeater1.DataSource = Me.SqlDataSource1
Me.Repeater1.DataBind()

End Sub

It appears to be working now....
Lesson learned.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,776
Messages
2,569,603
Members
45,188
Latest member
Crypto TaxSoftware

Latest Threads

Top