使用 ASP.NET 製作一個音樂網站


一、效果預覽

音樂網站視頻效果預覽

二、源碼下載

源碼已經上傳到了我的GitHub,感興趣的朋友請點擊下方連接到達頁面clone下載,感覺還行的話求star

點我前往連接

三、預備知識

在這裏插入圖片描述

四、文件結構

在這裏插入圖片描述

五、數據庫設計

下面是數據庫的三張表:

use db_music
go
create table tb_musicInfo(
	id int primary key,
	musicType int,
	speciaName varchar(500),
	musicName varchar(500),
	lyricPath varchar(500),
	singerName varchar(500),
	auditionSum int,
	downSum int,
	fileSize char(10),
	imgs varchar(500),
	country varchar(500),
	addtime datetime,
	zhuanji varchar(500),
	zjimg varchar(500),
	style varchar(200),
)
create table User(
	userName nvarchar(50),
	pwd nvarchar(50),
)
create table UserLove(
	musicId int,
	userName nvarchar(50)
)

六、部分代碼展示

1、數據庫增刪改查

dataOperate.cs

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Data;
using System.Configuration;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Data.SqlClient;
/// <summary>
/// dataOperate 的摘要說明
/// </summary>
public class dataOperate
{
    public dataOperate()
    {
        //
        // TODO: 在此處添加構造函數邏輯
        //
    }
    /// <summary>
    /// 創建數據庫連接
    /// </summary>
    /// <returns>返回SqlConnection對象</returns>
    public static SqlConnection createCon()
    {
        //創建SqlConnection對象
        SqlConnection con = new SqlConnection("server=DESKTOP-9FCSCD4;database=db_music;Trusted_Connection=SSPI;");
        return con;
    }
    /// <summary>
    /// 執行對數據庫的添加、刪除和插入操作
    /// </summary>
    /// <param name="sql">需要執行的SQL語句</param>
    /// <returns>返回一個布爾值,當執行成功返回True否則返回False</returns>
    public static bool execSql(string sql)
    {
        //創建數據庫連接
        SqlConnection con = createCon();
        //打開數據庫連接
        con.Open();
        //創建SqlCommand對象
        SqlCommand com = new SqlCommand(sql, con);
        //獲取ExecuteNonQuery方法返回的值
        int i = com.ExecuteNonQuery();
        //關閉數據庫連接
        con.Close();
        //判斷返回的值是否大於1,大於1表示執行成功
        if (i > 0)
        {
            return true;
        }
        else
            return false;
    }
    /// <summary>
    /// 返回查詢的指定列
    /// </summary>
    /// <param name="sql">需要查詢的SQL語句</param>
    /// <returns>返回查詢的列</returns>
    public static string getTier(string sql)
    {
        //創建數據庫連接
        SqlConnection con = createCon();
        //打開數據庫連接
        con.Open();
        //創建SqlCommand對象
        SqlCommand com = new SqlCommand(sql, con);
        //獲取ExecuteReader方法返回的對象
        SqlDataReader sdr = com.ExecuteReader();
        //讀取一條記錄
        sdr.Read();
        //獲取查詢的指定列值
        string str = sdr[0].ToString();
        con.Close();
        sdr.Close();
        return str;

    }
    /// <summary>
    /// 查詢數據並返回SqlDataReader對象
    /// </summary>
    /// <param name="sql">需要查詢的SQL語句</param>
    /// <returns>返回SqlDataReader對象</returns>
    public static SqlDataReader getRow(string sql)
    {
        //創建數據庫連接對象
        SqlConnection con = createCon();
        //打開數據庫連接
        con.Open();
        //創建SqlCommdand對象
        SqlCommand com = new SqlCommand(sql, con);
        //獲取ExecuteReader方法返回的SqlDataReader對象
        SqlDataReader sdr = com.ExecuteReader();
        return sdr;
    }

    /// <summary>
    /// 查詢數據並返回DataSet對象
    /// </summary>
    /// <param name="sql">需要執行的SQL語句</param>
    /// <returns>返回DataSet對象</returns>
    public static DataSet getRows(string sql)
    {
        //創建數據庫連接
        SqlConnection con = createCon();
        //打開數據庫連接
        con.Open();
        //創建SqlDataAdapter對象
        SqlDataAdapter sda = new SqlDataAdapter(sql, con);
        //創建DataSet對象
        DataSet ds = new DataSet();
        //填充DataSet對象
        sda.Fill(ds);
        con.Close();
        return ds;
    }
}

2、JSON數據解析

f.cs

    public static string ToJson(this DataTable dt)
    {
        JavaScriptSerializer javaScriptSerializer = new JavaScriptSerializer();

        javaScriptSerializer.MaxJsonLength = Int32.MaxValue; //取得最大數值
        ArrayList arrayList = new ArrayList();
        foreach (DataRow dataRow in dt.Rows)
        {
            Dictionary<string, object> dictionary = new Dictionary<string, object>();  //實例化一個參數集合
            foreach (DataColumn dataColumn in dt.Columns)
            {
                dictionary.Add(dataColumn.ColumnName, dataRow[dataColumn.ColumnName].ToString());
            }
            arrayList.Add(dictionary); //ArrayList集合中添加鍵值
        }

        return "{root:" + javaScriptSerializer.Serialize(arrayList) + "}";  //返回一個json字符串
    }

3、ashx的使用

這個比較長,就不展示了,代碼在tools\Handler.ashx


最後:感謝明日科技 出版的 《ASP.NET項目實戰開發入門》

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章