Welcome, Guest. Please login or register.
Did you miss your activation email?
Your Ad Here
Pages: [1]   Go Down
  Print  
Author Topic: Populate a dictionary with data from an SQL server  (Read 465 times)
0 Members and 1 Guest are viewing this topic.
HappyFace
Javaforums.net admin
Senior Member
*

Reputation: 16
Developer @ Engineeringserver network
Offline Offline
Posts: 2549
Referrals: 12
Activity
12%

WWW Awards
« on: July 15, 2009, 01:05:24 PM »

Just a note for myself to calculate the average score in a method called "selectSQLQuery(,)" that fills a Dictionary with a unique key and value for the ajaxcontroltoolkit star rating control.



Code
GeSHi (csharp):
  1.  Dictionary<int, decimal> averageScore = new Dictionary<int, decimal>();
Created by GeSHI 1.0.7.20

Adding unique keys

   
Code
GeSHi (csharp):
  1.  if (!averageScore.ContainsKey(int.Parse(cb.ID)))
  2.                            {
  3.                                  averageScore .Add(int.Parse(cb.ID), v.selectSQLQuery(int.Parse(Session["some_ID"].ToString()),                      
  4.  
  5.                            }
  6.  
Created by GeSHI 1.0.7.20

Get the average score for the ajaxcontroltoolkit star rating

Code
GeSHi (csharp):
  1.   cb.CurrentRating =  (int) averageScore [int.Parse(cb.ID)];
Created by GeSHI 1.0.7.20

Method that returns the average score from the result of a query in an SQL database.

Code
GeSHi (csharp):
  1.    public decimal selectSQLQuery( int someInt, int someInt2)
  2.        {
  3.  
  4.            string sqlQuery = "";
  5.            SqlCommand cmd = new SqlCommand(sqlQuery, conn);
  6.            cmd.Parameters.Add("@aParameter", SqlDbType.Int);
  7.            cmd.Parameters.Add("@anotherParameter", SqlDbType.Int);
  8.  
  9.            cmd.Parameters["@aParameter"].Value = someInt;
  10.            cmd.Parameters["@anotherParameter"].Value = someInt2;
  11.  
  12.            decimal getScoreFromAllUsers = 0.0m;
  13.            int reviewedByPeople = 0;
  14.  
  15.            try
  16.            {
  17.                conn.Open();
  18.                // cmd.ExecuteNonQuery();
  19.                a = new SqlDataAdapter(cmd);
  20.                s = new DataSet();
  21.                a.Fill(s);
  22.                conn.Close();
  23.  
  24.                foreach (DataRow dr in s.Tables[0].Rows)
  25.                {
  26.                    getScoreFromAllUsers += (decimal)dr["Score"];
  27.                    reviewedByPeople += 1;
  28.                }
  29.            }
  30.            catch (Exception e)
  31.            {
  32.                System.Diagnostics.Debug.Write(e.Message);
  33.            }
  34.            getScoreFromAllUsers = getScoreFromAllUsers / reviewedByPeople;
  35.            return getScoreFromAllUsers;
  36.        }
Created by GeSHI 1.0.7.20

Note that my method returns a decimal but i cast it to an int because the ajaxcontroltoolkit star rating only works with an integer. I still need to change the ajaxcontroltoolkit star rating so that it supports decimal values but it works as intended.
« Last Edit: July 15, 2009, 02:34:01 PM by HappyFace » Logged

It doesn't matter how hard you've studied; the material won't be on the exam anyway.
Admin @ www.Engineeringserver.com General Admin @ www.Javaforums.net and it's subsites Forum admin @ www.Javaforums.net Global moderator @ www.Engineeringserver.com network Java / .NET blogger @ www.Engineeringserver.com/blog
XMA performer since 2006 @ http://www.engineeringserver.com/XMA-NaN/ Fan of http://www.retardedweblogger.com
Oh man, too much stuff to do in so little time.

http://www.javaforums.net...lery.html;sa=media;id=170
http://img222.imageshack....707/arkietomatoesmall.jpg
http://img208.imageshack.us/img208/7141/smalli.png
Blizzcon 2k9 Grubby and Cassandra Ng engaged ! <3
Triple D, eerste Denken Dan Doen
dotNETprogrammers.net/forum :: A community for .NET developers
« on: July 15, 2009, 01:05:24 PM »

 Logged
Pages: [1]   Go Up
  Print  
 
Jump to: