Click here to Skip to main content
Rate this: bad
good
Please Sign up or sign in to vote.
See more: C#4.0
Pls help me thanks in advance
error is:- Invalid use of group function
public DataTable Search(int accountid, DateTime start, DateTime end,decimal amount)
    {
        try
        {
            string qry = "select * from Account where date >=@start and date <=@end and accountid=@accountid and sum(amount)=@amount";
            MySqlParameter startP = new MySqlParameter("@start", start);
            MySqlParameter endP = new MySqlParameter("@end", end);
            MySqlParameter accountidP = new MySqlParameter("@accountid", accountid);
            MySqlParameter amountP=new MySqlParameter("@amount",amount);
            MySqlParameter[] p = { startP, endP, accountidP, amountP };
            return MySqlHelper.ExecuteDataset(Common.GetConnectionString(), qry, p).Tables[0];
        }
        catch
        {
            Exception ex = new Exception(" Search AccountDetail Error.");
            throw ex;
        }
Posted 12-Dec-12 17:42pm
Comments
jibesh at 13-Dec-12 0:04am
   
This is already posted here.
http://www.codeproject.com/Questions/508033/InplusAccountplusSoftwareplusSelectplusAmountplusb
 
Please do not create duplicate questions unless they have different nature. Close this and you will get the reply of what ever questions you asked in other thread when any member finds a solution that suits to you.

1 solution

Rate this: bad
good
Please Sign up or sign in to vote.

Solution 1

Hi,
 
You are going to use aggregate function "Sum" but you did not use group by.
That's why the error occur.
 
For complete reference : http://msdn.microsoft.com/en-us/library/aa258901(v=sql.80).aspx[^]
 
but in your case I think sub query will helpful, or inline grouping Smile | :)
  Permalink  
Comments
pankajgarg1986 at 13-Dec-12 0:43am
   
this query is also not working
string qry = "select * from parmarth where date >=@start and date <=@end and accountid=@accountid having sum(amount)<=@amount";
Suvabrata Roy at 13-Dec-12 0:46am
   
you did not use Group by
 
string qry="select accountid,sum(amount) TotAmount from parmarth where date >=@start and date <=@end and accountid=@accountid Group By accountid having sum(amount)<=@amount";
Try this

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

  Print Answers RSS
0 CPallini 365
1 Sergey Alexandrovich Kryukov 317
2 OriginalGriff 165
3 George Jonsson 159
4 Abdul Samad KP 125
0 OriginalGriff 6,344
1 Sergey Alexandrovich Kryukov 5,860
2 CPallini 5,125
3 George Jonsson 3,559
4 Gihan Liyanage 2,522


Advertise | Privacy | Mobile
Web02 | 2.8.140916.1 | Last Updated 13 Dec 2012
Copyright © CodeProject, 1999-2014
All Rights Reserved. Terms of Service
Layout: fixed | fluid

CodeProject, 503-250 Ferrand Drive Toronto Ontario, M3C 3G8 Canada +1 416-849-8900 x 100