DataSource Controls :: Linq Group Cannot Get The Data Returned
Feb 8, 2010
I'm attempting to further reduce a dataset/table by various user input. Part of this process is grouping the data by a timestamp prior to a summation. I'm trying to use LINQ and cannot get the data returned that I need.
What i need to do is select the last 5 events for each group using LINQ to Objects. I tried starting with:
[Code]....
But i'm not sure how i only take the last 5 per group.
The simple way of doing this is to get the groups and then have a property on that which returns the last 5 events but if i databind this i will have to use a nested Repeater/ListView. Ideally i would like to have a row foreach event.
I am using a nested listview to display a seperate grid for each group of data returned from my db query. To get this working, I have adapted a piece of code to group the data prior to it being bound:
[Code]....
I am then using the following html markup:
[Code]....
[Code]....
This works as I want it to however some of the fields within the nested table need to be formatted as currency so I am trying to use Eval and {0:c} to do this however the moment I use Eval, the data items cannot be found
DataBinding: 'System.Data.DataRow' does not contain a property with the name '0'.
I'm using a linq group by query (with two grouping parameters) and would like to use the resulting data in a nested repeater.
var dateGroups = from row in data.AsEnumerable() group row by new { StartDate = row["StartDate"], EndDate = row["EndDate"] }; "data" is a DataTable from an SqlDataAdapter-filled DataSet. "dateGroups" is used in the parent repeater, and I can access the group keys using Eval("key.StartDate") and Eval("key.EndDate").
Since dateGroups actually contains all the data rows grouped neatly by Start/End date, I'd like to access those rows to display the data in a child repeater. To what would I set the child repeater's DataSource? I have tried every expression in markup I could think of; I think the problem is that I'm trying to access an anonymous member (and I don't know how.) In case it doesn't turn out to be obvious, what would be the expression to access the elements in each iteration of the child repeater? Is there an expression that would let me set the DataSource in the markup, or will it have to be in the codebehind on some event in the parent repeater?
I am having some difficulties with a particular task. I am creating a support desk intranet application and I am trying to write a method within a class within a namespace which will form a generic database connection which can be called from any of the aspx pages so that I have the dbconnection logic in one place; you know, going along with the 'DRY' (Don't Repeat Yourself) mantra.
The Namespace:
SUPPORTDESK.SQL.dbconnection.pullData()
Objective of the method:
To provide any aspx code behind file with an SQL Server 2005 Express Connection and if possible return the data from an SQL Query. This is where I need advice do I create the method such that it simply forms the connection and returns a DataSet or that it returns an SQLConnection object? If i've got things back to front and upside down don't worry I'm a beginner with ASP.NET. The Method so far:
[Code]....
If I'm on the right track how do I access the data returned in the DataSet?
string strConString = ConfigurationSettings.AppSettings[ "conString" ]; myConnection = new OdbcConnection(strConString); myConnection.Open(); // open connection string strSelect= "select * from tbl_howells_product_data where title like" + "'" + strsearch + "%" +"'" + "order by product_id asc"; OdbcCommand myCommand = new OdbcCommand(strSelect, myConnection); dtrReader=myCommand.ExecuteReader();
The problem is I need to check to see if any data has been returned from the SQL query, if there are no rows/ data returned by the query then I need to display a message to say that there aren't. I know that there isn't a 'number of rows method' for the dtrReader, so does anybody know how I could do this?
SELECT documentcategoryname, documentname, documentid FROM documents INNER JOIN documentcategory ON documents.documentcat = documentcategory.documentcategoryid WHERE documentsiteid = @siteid GROUP BY documentcategoryname, documentname, documentid
Which gives the following results:
documentcategoryname | documentname | documentid About Us doccy3 3 About Us doccy4 4 Map Of Medicine doccy5 5
Is there a way using vb.net I can just display the category name once, and the documents underneath it like below:
About Us doccy3 doccy4 Map Of MEdicine doccy5
My code so far is:
If pagesreader.Read() Then ' output documentcategoryname mydata &= "<h2>" & reader.Item("documentcategoryname") & "</h2>" 'display document list here using while loop? End if
select r.Name,c.Name,s.Name,(select count(p1.id)from profiles p1 where r.id=p1.religion and c.id=p1.caste and s.id=p1.subcaste and p1.Gender=1)as Male,(select count(p1.id)from profiles p1 where r.id=p1.religion and c.id=p1.caste and s.id=p1.subcaste and p1.Gender=2)as Female from religion r,profiles p,caste c,subcaste s where r.id=p.religion and c.id=p.caste and s.id=p.subcaste group by r.Name,c.Name,s.Name,r.id,c.id,s.id
I have a standard gridview, with the standard paging and sorting interface enabled.The application holds appointments for three organisational units, with a maximum of 3000 appointment records being returned across all three units. The appointment records are quite small.
The choice I am faced with is to:
1. Have an Org Unit dropdown which returns to the datasource on change of selection and at inital databind, and returns appointment records for one org unit at a time i.e. approx 1000 records.
2. Have the objectdatasource return all 3000 appointment records for all org units at initial databind, and filter the objectdatasource by org unit on change of selection, thereby saving a trip to the datasource.
I guess the question boils down to identifying the point at which querying the datasource by org unit is more efficient than filtering the records returned by org unit.
Is 3000 records a lot for a gridview to be paging and sorting etc.
im working on visual Studio 2010, and i have an error on an update.
this is the code in VB.
[Code]....
Thats the code and the error is:
Subquery returned more than 1 value. This is not permitted when the subquery follows =, !=, <, <= , >, >= or when the subquery is used as an expression.`
When a sql query returns NULL , I can use the following code to evaluate:
[Code]....
When a sql query returns nothing, neither IsDBNull nor is Nothing works. I don't know why some sql queries return null while some return nothing when there are no data returned. But anyway, can somebody tell me how to evaluate nothing value returned in sql datareader in vb.net? When I put the cursor over signInfo variable in debug mode, I can see Nothing show as its value. But the line does not work
I've managed to connect to the database and return a record based upon a login name. I can itterate through the rows printing out the password but I know there's only 1 row (or can test for that) so how do I get the value of the password for the one row without the loop?
Dim supervisorAdapter As New SupervisorTableAdapters.SupervisorTableAdapter Dim supervisors As Supervisor.SupervisorDataTable supervisors = supervisorAdapter.GetSupervisorByLogin(login) For Each count As Supervisor.SupervisorRow In supervisors Response.Write(count.password) Next
I am viewing items returned from a dataset in an Infragistics chart control. My problem is that due to a weak point in the control, I am left looking for a way to manipulate the height of the chart based on the count/number of items returned by the ObjectDataSource(DataSet).
Does anyone one have an existing C# sample they could let me view of accessing the count of records returned within the code-behind of a page that I could then use within a case statement to set the hight of the control?
I'm developing a website using asp.net 2.0 . I have retrieved a record from database through the query.
SqlConnection con = new SqlConnection(connectionstring); con.Open(); String SQL = "SELECT * FROM Table where attribute1 = value"; SqlCommand cmd = new SqlCommand(SQL, con); SqlDataReader reader = cmd.ExecuteReader();
Sometimes, there is no record matching this query and so null value is retrieved. My question is how to find that the null value is returned. Since If (no record found i.e NULL) certain actions needs to be done and if (records found i.e NOT NULL) ceratin different actions needs to be carried out.
I want to run a SUM on a particular against the DataSet returned by a SqlDataSource. How can I access the DataSet stored in memory that is returned by the SqlDataSource to run this calculation?
I have a stored procedure 'RoomIfExists' on my sql server (it does work). It takes a string variable for the Room_No and returns either '1' or '2' depending on the result of the query.
[Code]....
I need to know how to run the sp in c#, passing the variable Room_No and then pull the result from it.I am using a data reader.
This may not be the correct place to put this as it is both a stored procedure AND Visual Studio 2008 problem.
I have the following stored procedure:
[Code]....
I have been mokeying around with it because of what is happening. I have a dataset, call it dataset1. I drag this stored procedure onto the dataset. I EXPECT a datatable to appear, instead the data set adds this store procedure to the queries table adapter and sets the exec mode to 'NonQuery' which unless I am very mistaken, means "don't expect a dataset back from this' when in fact you DO expect a dataset back from this.
The SQL server is a Windows 2000 Server running SQL 2000. It has never caused us a moments grief since we set it up oh-so-many years ago.
If I connect to a different database and drag a query into the same dataset I get a datatable as I expect. I cannot see where / how this procedure could be wrong. The query when executed returns exactly the data I expect, in the format I expect (looks like a table, acts like a table in the Query analyzer).
I now want to count the number of returned rows so that I can say:IF rows_returned = 1 then login else deny I think you get the idea.P.S. I know this is not the most secure method of login but I do not want to use the ASP.NET configuration manager as I like to understand what is happening. I am starting off very simple and I shall work up from there.