DataSource Controls :: Recommended Searching Method For In Memory Dataset (datatable)?
Feb 19, 2010
it is apparent that "string builder" is better for building large string compared to sMyString = sMyString + "something";
what is a better way to search large in memory datasets? (like the example above - i know i could use loops, is there another way that i dont now about?)
make a query which will give me 200,000 results and bind it to the datatable but the error will pop out saying out of memory or request timed out.Can datatable/dataset handle these records or is my current server's hardware needs a little upgrade?Actually we are gettings millions of data and i dont have any idea how to solve this one? Have you worked on this kind of data? Do you have any idea on how to send my command from server A to server B while server A also processing request and will not wait for server B's result and server B will just update the records in my database, i think this can solve my problem if doing it in parallel.
Does dataset store all its datatables' records into server memory if I just call one datatable from it?Lets make an example, a dataset with three datatables - tbCompany, tbCompanyStaffs, tbSalesOrderwhere tbCompany is the parent of tbCompanyStaffs. tbSalesOrder is an independant table.Does dataset load all tbCompanyStaffs records into the server memory as well when a class retrive data from tbCompany?
I have an application which was recently ported from Classic ASP to .NET 3.5. I'm pulling some data from a stored procedure and once retrieved, I'm doing using the Select method on the DataTable in a loop so I don't have to keep going back to the database.It appears that there's something wrong here as I can refresh the page repeatedly and see the memory usage increase by a few megabytes, up to the point where we get an error. If we recycle the app pool in IIS, it starts working again, for a little while.
Is there a memory leak in this method? I did some research on the subject and Microsoft said there was an issue like that in .NET 1.0 and 1.1, but I'm using a higher version.Or, is this something else, such as not managing resources correctly? Here's a snipped of my code:
[Code]....
Initially, this app was using XML instead of a datatable and using XPATH to query the data, but it was too slow. I thought using a dataset with DataTable selects was a better option, but now we found this issue. I was thinking since the loop executes several hundred times that getting all the data and filtering through it on the client was a better choice instead of calling several web methods to get the subsets of data.
I'm returning one table. My understanding is that a DataSet can be made of more than one DataTable. I also understand that I can use either of these to return my one table.
Is it better to use the DataTable when I have one table to return instead of a DataSet? Is there any advantage of not using the DataSet in a situation like this? Is there a disadvantage to using the DataSet when only one table is being returned? Does this even matter?
I need to create an interface for adding users to .Net Membership DB through an existing database. My Idea is to read each row from database from existing users table in a datatable and then iterate through each row and add it to new database. I cannot directly copy the rows from existing users table because the password stored in .Net Membership provider is in ir-reversible hash code and hashing is done through encryption algorithm present in front end code. My User count is huge (in millions).So what should i use to read the records, Dataset or datatable. Also tell what is the max number of rows it can hold.
I have a DataSet with multiple DataTables and I use an ObjectDataDataSource to bind my DataGrid to it. One of my tables is correctly displayed in the grid. My problem is, that the grid displays the wrong table.
My tables are related to each other - I make use of the "relation" objects in VS Studio 2010. My ObjectDataSource points to a class with a select method. The DataSet contains several DataTables (e.g. "Variables" and "Components").
[Code]....
How can I configure the DataSet to display the table "Variables" by default?
for suppose 10 employee. for that i try to bind datalist using webservice & jquery. but i get lots of problem to bind datalist. with name as hyperlink so that when i click at name it go to next page and show details.
I have a dataset where I would like to upper all string fileds and when done check each field for a value. The other way i thought to do it is to do an upper of each string when I do the conditional check. I would like to know what is quicker upper of the values in the dataset or upper in the conditional statement? Knowing the dataset will contain a max of 10.000 rows and there are multiple conditional statements in the complete process.
Is there any method by which we can retrieve random data from a dataset or rather directly from a table.
For example, I have around 30 questions in my table, I just wanted to display 20 among them and that too in a random order without the same item repeating. Can we achieve this using SP or through some Dataset manipulation?
I'm trying to add new rows to a data table and then use the sqldataadapter update method bu fund some problems. First, I written this code:
[Code]....
Excuse me but the most part of variable are in italian, however I think it is possible to understand how does it work. If I execute this code I obtain this error:
System.InvalidOperationException: Update requires a valid InsertCommand when passed DataRow collection with new rows.
After this I added these lines of code just above the last line:
SqlCommandBuilder cb = new SqlCommandBuilder(adapter); adapter.InsertCommand = cb.GetInsertCommand;
and I obtained this error:
Cannot convert method group 'GetInsertCommand' to non-delegate type 'System.Data.SqlClient.SqlCommand'. Did you intend to invoke the method?
When using the DataTable.Load(SQLDataReader) method, if the datatable is a property of a class, the set method is not called to populate the object. For example...
MySQLDataReader = command.ExecuteReader(); if (MySQLDataReader.HasRows)
myObjDataTable.Load(MySQLDataReader); -- The result of this will be 0 rows returned. The "Set" method of the object is never called.
I added a new table to my type dataset. When the code tries to execute the new row on that table I get the error message.
(if you can't see the error. "MissingMethodException was caught" "Method not found: 'MyTableDataTable MyNamespace.get_SSCase().")
I've tried the wizard and also click and drag the table from solution explorer to the xsd file. The other tables work, just this one table won't work. What should I check?
I have a memory leak somewhere that I cant find. Every few days my server will crash, and just before that I log a ton of SQL errors stating that it is "out of memory".
I cant find it anywhere, all of my connections are being disposed like so:
[Code].... Then I call the connection from my pages like so:[Code]....
That is all pretty straight forward. The connection is disposed because it is implementing the USING clause. I am opening the connection in my connection manager class, and not where it is being utilized?Or, could the problem be in the below method I am using to populate a SqlDataReader:[Code]....
Now, at first it appears as though this could be the problem because the Connection isn't part of a USING clause, however doesn't the 'Data.CommandBehavior.CloseConnection' pretty much do the same thing. This makes sure that the connection is closed when the reader is closed, right? Here is how I call that above reader from my login page code behind:[Code]....
So the DataReader will get closed even without the .Close() because it is in the USING, and the connection should get closed because I specified it in the ExecuteReader paramters right?
I want to select data from a table where the user can search by 3 options; date, keyword, and type. The date will always be either today or a user chosen date. The keyword can be null or something the user inputs. The type will be chosen from a drop down and can be all or a specific category. I know how to search the date, but the other two create complications. I have created a stored procedure trying to figure this out:
[Code]....
Is there a way to say if the keyword is null then don't use it as a search criteria. If that is possible then type can use that same logic I suppose.
I have two pages, the first is datepicker.aspx and it contains a textbox where I enter in a date in YYYY-MM-DD format and a button that performs a postback to results.aspx. Results.aspx has a gridview where I'd like to see records from the journal table in my SQL database that have the date I entered back in datepicker.aspx only the gridview never produces results.I'm using the following query in the datasource, if I test it in the datasource wizard it works and it also works when I run it directly against the database.
SELECT * FROM QM.Journal WHERE ([DateEntered] = @SelectedDate)
The @SelectedDate is setup as a FORM parameter in my datasource. Is there anything in particular that I need to do to the results.aspx page so that it grabs the date I put into my datepicker.aspx textbox?
I have a table that contain special characters and when the user search for nguyen I want to return string that contain Nguyễn or nguyen or any other nguyen variations.
I have absolutely no idea where to start and will be greateful if someone know any article that explain how I can do this.
now when i type something in header Search cell , it shows the data of first page index only , it won't show me data from 2nd page index .. here's my code :
protected void PhasesTempGrid_OnDataBound(object sender, EventArgs e){ GridViewRow row = new GridViewRow(0, 0, DataControlRowType.Header, DataControlRowState.Normal); for (int i = 0; i < PhasesTempGrid.Columns.Count - 1; i++) { TableHeaderCell cell = new TableHeaderCell(); TextBox txtSearch = new TextBox();
[Code] .....
My gridview is in update panel therefore i did this in .js script :