簡體   English   中英

Asp.net詞典-用數據庫值替換硬編碼值

[英]Asp.net Dictionary - Replace hard coded values with database values

我正在嘗試實現此標簽雲: http : //thetagcloud.codeplex.com/

...並且我需要將下面的硬編碼值替換為來自數據庫的硬編碼值?

    <%= new TagCloud(   new Dictionary<string, int> {
                        {"C#", 58},
                        {"ASP.NET", 45},
                        {"VB.NET", 36},
                        {"AJAX", 24},
                        {"LINQ", 13}
                    },
                    new TagCloudGenerationRules
                    {
                        TagToolTipFormatString = "Tag weight: {0}",
                        TagUrlFormatString = "search.aspx?p=1&tag={0}"
                    }) %>

我創建了以下sql字符串,該字符串以預期的string / int或value / key格式返回數據

SELECT Tag, COUNT(Tag) AS Counter
FROM         dbo.CtagCloud
GROUP BY Tag
HAVING      (COUNT(Tag) > 3)
ORDER BY Counter DESC

嗯,我的外觀非常簡潔,只是瀏覽了示例代碼。 我懷疑您需要傳遞數組(值對)而不是字符串。

只需遍歷返回的每個記錄,然后將其添加到數組中即可。 然后將該數組傳遞給TagCloud對象。

這是我的數據訪問代碼

 // SQL Select Command
    SqlConnection conn = new SqlConnection(connectionString);
    SqlCommand mySqlSelect = new SqlCommand("SELECT TOP (100) PERCENT Tag, COUNT(Tag) AS Counter FROM dbo.CtagCloud GROUP BY Tag HAVING (COUNT(Tag) > 3) ORDER BY Counter DESC", conn);
    mySqlSelect.CommandType = CommandType.Text;
    SqlDataAdapter mySqlAdapter = new SqlDataAdapter(mySqlSelect);
    DataSet myDataSet = new DataSet();
    mySqlAdapter.Fill(myDataSet);

    // create an instance for ArrayList
    ArrayList myArrayList = new ArrayList();

    // foreach loop to read each DataRow of DataTable stored inside the DataSet
    foreach (DataRow dRow in myDataSet.Tables[0].Rows)
    {
        // add DataRow object to ArrayList
        myArrayList.Add(dRow);
    }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM