Avatar billede juks Novice
06. januar 2010 - 03:20 Der er 4 kommentarer og
1 løsning

Dataset , problem , SQL

JEg har følgende data set , og får en MySql.Data.MySqlClient.MySqlException: Parameter '?AarGROUP' must be defined. ( det virkede fint indtil jeg satte aar ind , og hvis jeg smider den direkte i mysqlen viser den også data så hvad har jeg glemt) 

  public DataSet GetResultCalculationAmounts(int typeID,int Aar)
    {
        MySqlConnection connection = Connection.GetConnection();

        StringBuilder sql = new StringBuilder(4);
        sql.Append("SELECT display_name, YEAR(al.date),sum(al.credit)-sum(al.debet) as sum FROM s_account a, s_account_line al ");
        sql.Append("WHERE a.account_number = al.fk_account_number AND a.fk_account_type_id = ?TypeID AND YEAR(al.date)=?Aar");
        sql.Append("GROUP BY a.fk_account_number");
        sql.Append(";");

        MySqlCommand cmd = new MySqlCommand(sql.ToString(), connection);
        cmd.CommandType = CommandType.Text;

        cmd.Parameters.Add("?TypeID", MySqlDbType.Int32).Value = typeID;
        //cmd.Parameters.Add("?Aar", MySqlDbType.Int32).Value = Aar;

        MySqlDataAdapter adap = new MySqlDataAdapter(cmd);
        DataSet ds = new DataSet("ResultCalculationAmounts");
        adap.Fill(ds);

        return ds;
    }
Avatar billede arne_v Ekspert
06. januar 2010 - 03:22 #1
1) indsæt et mellemrum mellem ?Aar og GROUP
Avatar billede arne_v Ekspert
06. januar 2010 - 03:22 #2
2) få cmd.Parameters.Add("?Aar" genaktiveret
Avatar billede arne_v Ekspert
06. januar 2010 - 03:23 #3
PS: Hvorfor ikke bare lave den SQL som en simpel streng ??
Avatar billede juks Novice
06. januar 2010 - 12:02 #4
hej Arne ,
Ahh så simpelt :-) , brugte jeg meget meget tid på :_)

mht simpel streng , så er det fordi det er denne måde ham der har lavet systemet fra starten har gjort det derfor , bruge jeg samme fremgangsmåde så det ser ens ud :-)
Avatar billede arne_v Ekspert
06. januar 2010 - 14:46 #5
svar
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester