Click here to Skip to main content
11,409,532 members (62,311 online)
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 18: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 Sergey Alexandrovich Kryukov 8,676
1 OriginalGriff 6,885
2 Maciej Los 3,322
3 Abhinav S 3,238
4 Peter Leow 3,034


Advertise | Privacy | Mobile
Web01 | 2.8.150414.5 | Last Updated 13 Dec 2012
Copyright © CodeProject, 1999-2015
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