2009-05-24 4 views
1

OはC#でASP.NETで単純なファイルダウンロードカウンタを作る方法はありますか?たとえば、ユーザーがファイルをクリックしてダウンロードしたときに、そのファイルを+1で更新し、ファイル名をDBに保存したいとします。リンク上のユーザonmouseがファイルをダウンロードしたTimes.Butでツールチップを表示したい場合、ユーザがダウンロードステータスを取り消すと、それは更新されません。ASP.NETでシンプルなファイルをダウンロードするには?

答えて

0

ファイルが完全にダウンロードされない限り、更新しない場合は、独自のgeneric handlerを書き込む必要があります。この場合、処理の最後にデータベースを更新します。 DBの場合

、私はあなたが各ダウンロードの発生を格納する1つのテーブルを持つお勧めします、とあなたは、各ファイルに関する情報を格納する1つ、例えば

tblDownloads 
************ 
DlID (GUID, not nullable, primary key) 
Date (datetime, not nullable) 
FileID (GUID, not nullable) 

tblFiles 
******** 
FileID (GUID, not nullable, primary key) 
Url (nvarchar(255), not nullable) 
Title (nvarchar(255), not nullable) 
Description (nvarchar(max)) 

だろう(彼らは同じように例のデータ型などが命名されていますMSSQLになる...)

特定のファイルのダウンロード数を取得するには、あなたは、単に

SELECT COUNT(DlID) FROM tblDownloads WHERE FileID = @FileID 

用のデータベースを照会は、あなたが興味を持っているファイルIDを持つパラメータです。あなたがループアウトすべてのファイルのURLをしたい場合は、たとえば、クエリ

SELECT 
    f.FileID, f.Url, f.Title, f.Description, COUNT(d.DlID) AS DownloadCount 
FROM tblFiles f INNER JOIN tblDownloads d ON f.FileID = d.FileID 
GROUP BY f.FileID, f.Url, f.Title, f.Description 
+0

はとても屋は、このための一般的なハンドルの例を欲しがることができますでしょうか? –

+0

投稿を更新しました。 –

+0

そして私が投票したユーザーがなぜ私にヒントを与えたらいいのですか?=) –

関連する問題