I want to pass to a DataSource(SQL, Linq) more than one SelectParameter or what ever will do the work.I have many ArtistIds i want to pass to my source, so that it will display only those entries with my Parameters.My Problem is, that i dont know in which Format i can pass more than one Parameter, till now i used QueryStrings but that only works for one Parameter, no? I have a DataTable filled with all my IDs and im system-caching it to pass it from a Search-Site to a Detail-Site, maybe theres a better way?
This is my Source:
<asp:SqlDataSource ID="SqlDataSource1" runat="server"
ConnectionString="<%$ ConnectionStrings:MvcMusicStoreConnectionString %>"
SelectCommand="SELECT Album.Title, Album.Price, Album.AlbumArtUrl, Artist.Name, Genre.Name AS Expr1 FROM Album INNER JOIN Artist ON [code]...
I have a webform whose ObjectDataSource reads an xml file to populate a GridView in the .aspx page. I have to hard code the file path in the .cs file defining the ObjectDataSource classes. I want to be able to use a portion of the query string to indicate which file to select, but, normal methods, like Server.MapPath and Http.Request.Current don't work in the class page. how I can pass values from the SelectParameters configured in the ObjectDataSource down to the ObjectDataSource method? Here is my Class code:
[Code]....
The filePath variable is what I want to be able to alter based on my query string.
I am building up asp:ControlParameters in my SqlDataSource at design time that all have ControlIDs based on textboxes and radiobuttons in my form, and those seem to work OK. Now, I want to build my SQL select query up in the PageLoad event and I can't seem to get the values of these SelectParameters. If at design time I create a ControlParameter like:
[Code]....
...why is it giving me an error saying "ERROR: Microsoft SQL Server: Must declare the variable '@cp_employee_last_name'"? That SQL Where clause should just be whatever the user typed into tbEmployeeLastName.Text, right?
I want to define SelectParameters for my SqlDataSource in markup and then assign values in code, but when I use the syntax:
[Code]....
It works the first time, but won't let me re-add the parameters on subsequent postbacks.
I can't use ControlParameters in this case because the values in the controls are loaded from xml files and some minor parsing needs to be done to the values before they're passed to the database.
I'm trying to use an ObjectDataSource's SelectMethod() to retrieve a result set from a sql server database to populate a data table with various stored procs that have any given number of parameters. My approach is to pass an object which contains the stored proc name and information about its parameters into the SelectMethod(). My issue is that I don't know how to actually set the default value. Here is the code I have so far:
namespace WebApplication1 { public class Children { public DataTable Select(object storedProc) { // do stuff here and get db values. } } }
The default value of a Parameter object is a string type. Does anyone know how to set the default value with an object or how I can pass an object into the SelectMethod?
a FormView that is linked to SqlDataSource1a Repeater control (inside the formview) that is linked to SqlDataSource2Thus representing a simple "1 to many" or "parent/child" relationship in the database!qlDataSource1 is simple in that it just retrieves a straight set of records from a table and they are displayed back in the FormView (nothing special happening there).SqlDataSource2 has parameters that filter the contents of the repeater based on the record that is shown in the Formview. This would normally be simple enough to set up by setting the parameter to the formview.selectedvalue property.HOWEVER - THE PROBLEM ARISES...The formview has multiple DataKeyNames because the table that the SqlDataSource1 links to has a compound key. So to filter the Repeater correctlySqlDataSource2 needs to map 3 parameters to 3 data key values in the formview.Any ideas how to do this?I've tried setting the SqlDataSource2 parameters to:
When I want to get the output values its okay but I also want returning a table as a result data.But Datareader has no rows.is it possible if I want a returning query result and multiple output values togather ?I wrote a test above.I can get output values as sqlparameters. But Datareader attached to a Gridview is empty.can you detect whats wrong here and it doesnt return a query result.So stored procedure is not standart or ı am doing something wrong.this doesnt raise any exception.but not returning any data.
here is my code for selectiong some records from db table
string strSql = "select * from mtblNBD where SentTo=@SentTo and InternalStatus Is NULL order by DeadLine desc"; SqlCommand com = new SqlCommand(strSql, con); com.Parameters.Add("@SentTo", SqlDbType.NVarChar, 50).Value = (string)Session["uname"];
here I am using parameters for SenTo field but not for NULL so it is ok... or should I use parameters for this field where value is NULL , if yes then how can I use parameter for this
I have added a gridview in my aspx web page. I have added a hyperlink field, to navigate to another page from the gridview. I am getting the error as:
"There was an error rendering the control.
Index(zero based) must be greater than or equal to zero and less than the size of the argument list. "
This is the code i have used:
[Code]....
[Code]....
When i remove the hyperlink, the grid is getting displayed. I know, there is something wrong i have coded in the DataNavigateURLformatstring, but not sure what is wrong.
I want to pass the StudentID,CourseID,ChildImageID with the link as the querystring.
According to all I have read my DataNavagateUrlFields string should work but it isn't. The deal is that any one (AssocID) can have multiple AddrID's associated with it. Regardless of which I choose I only get back the first AddrID for that AssocId.
I am creating a grid with a code behind and in the hyper link column I would like to pass some parameters before passing users to a new page. If I just use one parameter, the CustomerID in the dataNavigateUrlFields and dataTextField then the
Below is my query string my page name is stored in data base when I am using without querystring its working fine, but when i am adding query string to it, its giving me error.. below is my code
In one of the web page say "Default1.aspx" I have a Gridview.I am using 2 DataKeyNames in Gridview. i.e., DataKeyNames="G_Name, Param_ID" Also, I have one Hyperlink inside Gridview, upon clicking, page navigates to other page say "Default2.aspx"
I have asked similiar question before where I have two control on the page header says "username" and "gender". User can select both the control or either one and the page will execute searching based on the criteria supplied. So if username supplied
SELECT * FROM [this_table] WHERE username = @username and if gender supplied SELECT * FROM [this_table] WHERE gender = @gender and if both supplied SELECT * FROM [this_table] WHERE username = @username AND gender = @gender
I know this sounds not very complicated but in my case, I am having like more than 10 controls up there. It is something likeusername, gender, age, date of brith, title, father name, frst name, last name, blur blur blur and it's a lot then I started to lost. if i were to use if else caluse on code-behind and produce query, it would end up writing a lot of if-else and if i use stored procedure (with if-else) then my stored procedure would contains a lot of if-else statement. I am fairly new to this concept and if I'm on the wrong track, please correct me. Is there any better way to save my hair without actually going through each if-else statement to build the query ?p.s. I'm using GridView and SqlDataSource command to display the result back on .aspx page.
I have webform with a listview control on it that uses 2 date values supplied by the user (via 2 text boxes) to dynamically set date range parameters for the datasource. The user enters two dates and clicks a button that runs the following code that sets the parameters:
[Code]....
This code works the first time the user clicks the button. But if they change the date values and try again, it only returns the result set from the first request. The parameters are not updated to the new values supplied by the user.
I am trying to check whether a username exists in my database before inserting the new row & display a message to the user if it does.
On my SqlDataSource my InsertCommand looks like this:
InsertCommand="IF NOT EXISTS (SELECT * FROM Users WHERE UserName = @UserName) BEGIN INSERT [Users] ([UserName], [FirstName], [LastName], [City], [State], [Country], [CompanyName], [Active], [PasswordHash]) VALUES (@UserName, @FirstName, @LastName, @City, @State, @Country, @CompanyName, @Active, @PasswordHash) END"
This works as expected: If the username is unique, the row is created.
If the username already exists, the row is not added.
The problem is, if the row already exists, the insert is rejected but the user is not notified.
So my question is, is there a way I can notify the user?
Maybe something like: InsertCommand = "If Not Exists (select....) Begin Insert...Else Notify User Somehow End This is a basic database, I'm not using the built-in membership provider nor will be.
I am trying to design my logic to do this but I want to create a dataSet which will have records from several databases, The records all have the same layout.
I am reagin the connection string paths from a table in a database.
I am asking for your help in trying figure out my logic.
Should I use the connectionString builder in conjunction with a loop to Connect, read a record into a dataset Until therer are no more records to be read from my databse table with the database name/paths tables ?
Here is my beginning code which deals with one database:
Would it be better to have a sp return multiple result sets and use NextResult() or have subsequent call to dr.execute.... () and hadle one result at a time?
To me using nextResult() on a multiresult datareader would be cleaner and easier - but it does not seem to be very "atomized". I guess I am wondering can the cost of executing multiple commands be neglected? Seems like executing multiple commands and receiving a single result set would also be easier to read/test/understand.
I followd Brian Orrell LINQ tutorial for paging/sorting and created a gridview bound to an ObjectDataSource through a method call which gets data from adatabase. My form includes two buttons with a textbox next to each one of them. I need to be able to populatte th egridview depending on the button that was pressed, I cannot figure out how signal my method which button was pressed. [Code].... [URL]
I have a ListView that, among other things, in the EditItemTemplate, has a pair of related DropDownList controls, sort of a parent/child relationship. The selected value of the parent is used as a parameter for the SQL Datasource of the child. Outside of a control such as the ListView, this would be easy and I'd simply set up a ControlParameter for the SQL Datasource and life would be good. Within the DataList things are not quite so simple. My plan is to set the parameter of the child in the Selecting handler of its datasource. I have hard coded some values and this works the way I want it to. My problem is getting the "parent" value. I've got two theories on how to get this:
#1, I've tried instantiating the parent DropDownList but it is either not available at this point in the page life cycle or I just don't know the syntax to get at it from within the Selecting handler.
#2, I'm thinking I may have to grab the value from the underlying data for the ListViewRow that I am editing, but again, I do not know the object model well enough to get at those values.
Below is a code sample for option #1. As stated, setting the parameter works, but getting the value of the DropDownList does not.
I need to retrieve data using a date as an input parameter. I created a WhereParameter and passed in a date value that I know to exist in the database, but no data is returned. Heres my code
[Code]....
Ive passed in '02/06/2010' as the date, in the database, the Startdate column has several values of '2010-06-02 13:08:50.503' so I guess its not being found because of the time part. Whats the best way to make sure that I retrieve the correct data ? Im not concerned about the time at all, I just need all rows for 02/06/2010.