Recent Articles

 
1: Read And Write XML with Dataset
Category: VB.NET
Added: 2/11/2009

 
2: Split Ajax Tab Control into Rows
Category: AJAX
Added: 2/2/2009

 
3: Path Less Css in Master Page in Asp.Net
Category: ASP.Net
Added: 1/27/2009

 
4: Prevent user going back to restricted area
Category: ASP.Net
Added: 1/25/2009

 
5: Sql Server MSC Error
Category: Databases
Added: 1/10/2009

 
6: Web Browser Control Javascript Close Button Error
Category: VB.NET
Added: 1/3/2009

 
7: ChartFX Volume in Candlestick without Extensions
Category: VB.NET
Added: 1/3/2009

 
8: Hard disk serial number Library
Category: VB.NET
Added: 1/3/2009

 
9: Roles And Membership
Category: ASP.Net
Added: 6/2/2008

 
10: ListView and DataPager in ASP.NET 3.5
Category: ASP.Net
Added: 5/15/2008

User Rating Technique

by Imran 08/January/2008

First of all create a table which have value RatingID and your content id like in my logic SiteID like Comments then create a stored procedure like

CREATE PROCEDURE Q_GetRatingInfo(@SiteID int) AS

SELECT

(SELECT COUNT(*) FROM Comments WHERE SiteID = @SiteID AND RatingID = 1) as Rating1Count,

(SELECT COUNT(*) FROM Comments WHERE SiteID = @SiteID AND RatingID = 2) as Rating2Count,

(SELECT COUNT(*) FROM Comments WHERE SiteID = @SiteID AND RatingID = 3) as Rating3Count,

(SELECT COUNT(*) FROM Comments WHERE SiteID = @SiteID AND RatingID = 4) as Rating4Count,

(SELECT COUNT(*) FROM Comments WHERE SiteID = @SiteID AND RatingID = 5) as Rating5Count,

ISNULL((SELECT AVG(CONVERT(float, RatingID)) FROM Comments WHERE SiteID = @SiteID), 0.0) as AvgRating,

(SELECT COUNT(*) FROM Comments WHERE SiteID = @SiteID) as RatingCount

GO

then create a function AvgRating

Public Function AvgRating(ByVal SiteID As Integer) As Decimal

Dim con As New SqlConnection(myConStr)

con.Open()

Dim avgrate As Decimal

Dim myCommand As SqlCommandmyCommand = New SqlCommand("Q_GetRatingInfo", con)

myCommand.CommandType = CommandType.StoredProcedure

myCommand.Parameters.AddWithValue("@SiteID", SiteID)

Dim reader As SqlDataReader = myCommand.ExecuteReader(CommandBehavior.CloseConnection)

If reader.Read Then

avgrate = Convert.ToSingle(reader("AvgRating"))

End If

con.Close()

Return avgrate

End Function




Powered by DotNetClassic.com