DataSource Controls :: Stringbuilder Not Working Inside Selecting Event?
Jan 15, 2010
I'm trying to construct one of my SQL query parameters by building a string inside the DataSource selecting event. This string will be grabbing information from various controls on the page (2 drop down menus and 1 calendar date selector). However, I found that stringbuilder doesn't work inside a selecting event. Is that normal or do I have another hidden problem??
Here is the error I'm getting:
System.Data.SqlClient.SqlException: Procedure 'spProcedure2' expects parameter '@sqlSelect', which was not supplied.
I'm having an issue coming up with an appropriate code design to implement a search page using linq to sql for my DDL. I think the best way for me to explain where I'm at is describing what I've done in the past, before linq. Lets say we have a basic search page with various user input controls for search options... for simplicity, let's say there are two main ways the user can search. 1. a dropdown filled with account numbers. When that drop down is changed and an account number is selected, a gridview needs to be populated with all the records for that account. 2. the second way is a dropdown for choosing what field you want to search, a textbox for entering what you want to search for, and a button to execute that search. In the past, just using straight ado.net
I would handle each of these two search options separately within the events of the dropdown list and the button, respectively. In selectedIndexChanged for 1, and in the buttonClick event for 2, I would construct my sqlCommand etc., ultimately returning a dataset or datatable which I would then bind to the gridview. The logic was separated by the two different event handlers. Now, fast forward to linq to sql and I have a similar page layout, but I am using the linqdatasource selecting event to build my where conditions. Now the difference is *everything*, all the logic, is now in this one event handler, which search option did the user run? Could I somehow craft an IQueryable <T> within each of the input controls event handlers (like the button click, or selectedIndexChanged of the dropdown) and pass that in to the linqdatasource's selecting event? that way my logic stays logically separated...
further, after this initial search is done and results are bound to a gridview, I have several other dropdown lists that appear for search refinement. I need to keep track of that top level query, and each of the refinements... and again, right now it looks like everything is going into the linqdatasource selecting event and I get the feeling it shouldn't be... using the selecting event enables my paging and sorting to work, so I want to use that, but again, it's turning out that I'm putting *everything* there, like all the page's logic, and I'm thinking that is not good? if I could just pass in the actually query, like an IQueryable<T>, and keep my logic separated.
in the selected event it seems even though e.TotalRowCount really is the total row count, when I cast e.Result to a type in order to access the actual data only the current page of data is there? not all.
items only has the 15 records for the current gridView page, not all the records, is this normal? If I need to access all the items in the result do I need to stick with the selecting event instead?
Im developing a web application in asp.net where i have gridview with some text box controls in it.In runtime we are creating a new row dynamically by clicking add button .To insert data into the database.i used a stringbuilder instead of string becoz the data what i have to insert into database is more.but i am gettin the following error No mapping exists from object type System.Text.StringBuilder to a known managed provider native type. in database the datafield column datatype is varchar(max).
I have placed a dropdown list in Gridview footer, now i want to access the dropdown selected indeex changed event as below. But i'm not able to access the event.
protected void ddlCatg_SelectedIndexChanged(object sender, EventArgs e) { DropDownList ddlCategories = grvExpenses.FooterRow.FindControl("ddlCatg") as DropDownList; DropDownList ddlExpenseSubCategories = grvExpenses.FooterRow.FindControl("ddlSubCatg") as DropDownList; ddlExpenseSubCategories.Items.Clear();
i have two sqldatasource controls. one i use to display data in textbox's ,filter'd by a select parameter in page behind code. Once checked, i want to copy this data to the other datasource ,by selecting checkbox.Then display this data in detailsview control.
At present the two datasource controls declared , render data to the page simultaneously during pageload. I want to first check data in textbox's from first source, before second datasource is rendered to screen. note, both are filtered by a page variable. i wish to leave the textbox datasource control in situ, as other controls and code depend on it.The other detailsview datasource is my problem?
I have created a master page for website layout in my project. I have used a linkbutton control to trigger between Login/Logout functionality but when I click on this control the underlying click event handler is not being executed anyway.When I click on this control, the page pointed by its PostBackUrl property is open which should probably occure after its click event hander have been executed.
I have a listBox that is bounds its content from the database. This control is inside an itemTemplate. When the item template is boudned, I want to select the corresponding value.
I have this ugly single line of code:
[Code]....
What it does is to select the right value to a ListBox that is databinded with values inside a DetailsView
In my web app, I used LinqDataSource, ListView and DataPager (.NET 3.5 sp1) to implement search feature with paging. I have a button to trigger the search.
But In the first time, the Selecting event of LinqDataSource fire twice and I don't know why (I debugged my code very carefully). I don't use QueryString with DataPager and assign PageSize of DataPager in the first time of page load to prevent the ListView bind again (as in some instructions I found in forum)
I need the ability to check a box and then store or remove the text of the checkbox clicked to my sql server database. see my code below that is written in vb.
<%@ Page Language="vb" AutoEventWireup="false" CodeBehind="SBN_Company_Cat_Types.aspx.vb" Inherits="ShopBuyName_Test_Site.SBN_Company_Cat_Types" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
I have an UpdatePanel with a GridView. This GridView has a template column that is a DropDownList. The problem is that the SelectedIndexChanged event does not fire for the DropDownList. Here is the code:
I have gridview in my page that users can edit their data in gridview... and in this gridview I define label that I want when users click on Edit button it change label3.text:
I just need to know how to select in c# select from my sql server database for the purpose of seeing if data already exists.. do not need to display the data (i know how to select the data and display it in a data grid) but I am checking to see if dates are already in the database before performing an insert since there can not be duplicate dates... it is late but I only can figure out how to use the data as it applies to viewing or if bound to a control. Also I am not using the aspx... in tags... my c# is seperate... do I have to use a stored procedure just to see if the row exists???
I am having a staff table which contain staff information on it. To search staff information from the table, I want to prefer filter style. For example in the select query I want to display staff information according to three criterias. Select staff information from all sections, Select staff information from a given section, select staff information by a given Name. All these selects must be performed in a single select statement. Suppose,
SELECT * FROM StaffDetailsTbl WHERE SectionID = CASE WHEN @SectionFilter IS NULL THEN [SELECT ALL] ELSE SectionID = @SectionFilter and Name = CASE WHEN @NameFilter IS NULL THEN [SELECT ALL] ELSE Name Like '%@NameFilter%'
Where Declared variables are parameterized stored procedure values retrieved from the user.
Using a dropdownlist, I can filter (by changing datasource) the results based on customer names in a dropdownlist. This datasource, working perfectly, looks like this:
[Code]....
Now, using a textbox and a ajax calendar, I would like to be able to filter on the date as well, but my datasource so far:
[Code]....
doesn't work very good. In some case sit doesnt show anything, in onther situations - with 10 records for a given date, it only shows one.
Question one: How do I make the last datasource work? Its probably - again-again - something with the datetime formats, but for the life of me, I can't see how to do.
Question two: The Ideal solution would be using the first datasource, SqlDataSourceAllLoads, and then be able to filter the results with filterexpressions/parameters, but again, how? The filterparameters would origin from a DropDownListKunder, matching the tblDeliveredInfo.deliveryInfo_FirmaNavn as seen in the second datasource, while the date comes from the textbox txtStartDate (databinding fired by a button).
I am writting a custom class with which I manipulate the data for my website. I was wondering if there is a way to connect to a database and retreive the column names for a given table with out sellecting any data in the table.
Currently I am using an sql select and connection string to create an SqlComman object. Then I use the command object to create a SqlDataAdapter object which I use to fill a DataSet. At the end of all that I am able to retrieve the column names but I have select data and retreived data.
I have a repeater using a LinqDataSource as a data source. When a query string is entered, I'd like to filter the results, but ONLY when a query string is entered. If there is no query string, the results should not be filtered, all results should be returned.
I'm trying to add a WhereParameter to my LinqDataSource in the Selecting event of the LinqDataSource, but it's not working. Here's my code:
I mean, what is the faster way to get as fast as I can more than one table with stored procedure? Is there any study what is faster and why? There is a big problem getting more than one table at once with Entities, so the only way is DataSet. But I was told DataSet work very slow. Is that true?