C#製作音樂播放器

       最近因爲工作需要,囫圇學了一下C#。跟Java很小,習慣上有些小不同,所以語法啊什麼的很快就過完了。看着書最後有個小項目,覺得可以做一做,就連帶數據庫啊什麼一起照着做了一遍。收穫肯定是有的,最起碼不像剛開始打開Visual Studio會產生一種強烈的疑問,我真的用過VS嗎?我學C的時候,怎麼好像界面跟這是不一樣的,雖然也不記得之前的界面是什麼樣子的了。現在想起來當年畢設老師問我,你覺得這個項目難點在哪,我說是搜索,就一陣臉紅。雖然這個問題我剛出來工作就意識到了,但是每每碰到想起來還是很難爲情啊,那時候真的是太蠢了。。。

       這個是完全照着書上來的,還有很多缺點,非常粗糙不夠完善。不過核心的東西這都有,完善無非是界面做好看一點啊,跳轉的邏輯性更好一點,功能更全面一點。但是我目前沒時間了,就這麼着吧,寫完這篇就着手公司的項目了,雖然其實沒啥要寫的。代碼結構就是這樣的,主要是連接數據庫吧,然後Dao層,視圖層就界面跳轉直接的邏輯關係,拖控件實現功能了。

 

       連接數據庫,C#連接數據庫非常簡單,就創建連接,然後寫一個查詢和非查詢的方法就可以了這個main函數可以直接用來測試,插入啊查詢啊確保數據庫是可連接的。我用的是MySQL數據庫,這個需要自己下載引用MySQL.Data.dll文件,網上一大把,還是好操作的。

class DBOperator
    {
        //定義數據庫連接對象
        /*private static MySqlConnection conn = new MySqlConnection(@"Data Source=localhost;Initial Catalog=musicdatabase;Integrated Security=True;
            Connect Time=30;Encrypt=False;TrustServerCertificate=True;ApplicationIntent=ReadWrite;MultiSubnetFailover=False");*/
        private static string constr = "server=localhost;User Id=root;password=111111;Database=musicdatabase";
        private static MySqlConnection conn = new MySqlConnection(constr);

        //執行非查詢
        public static int NonQuery(string sql,MySqlParameter[] sp)
        {
            int returnvalue = -1;
            MySqlTransaction st = null;
            try
            {
                //打開數據庫連接
                conn.Open();
                //開啓事務
                st = conn.BeginTransaction();
                //創建MySqlCommand類對象
                MySqlCommand cmd = new MySqlCommand(sql,conn,st);
                if(sp!=null&&sp.Length!=0)
                {
                    //向命令對象cmd中添加參數
                    cmd.Parameters.AddRange(sp);
                }
                //執行對錶的非查詢操作
                returnvalue = cmd.ExecuteNonQuery();
                //提交事務
                st.Commit();
            }
            catch (Exception ex){
                MessageBox.Show(ex.Message);
                //回滾事務
                if (st!=null)
                {
                    st.Rollback();
                }
            }
            finally
            {
                if (conn.State==ConnectionState.Open)
                {
                    conn.Close();
                }

            }
            return returnvalue;
        }

        //執行查詢操作的方法
        public static DataSet Query(string sql,MySqlParameter[] sp)
        {
            DataSet ds = null;
            try
            {
                conn.Open();
                MySqlCommand cmd = new MySqlCommand(sql, conn);
                if (sp != null && sp.Length != 0)
                {
                    cmd.Parameters.AddRange(sp);
                }
                MySqlDataAdapter sda = new MySqlDataAdapter(cmd);
                ds = new DataSet();
                sda.Fill(ds);
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
            finally
            {
                if (conn.State==ConnectionState.Open) {
                    conn.Close();
                }
            }
            return ds;
        }


        /*public static void Main(string[] args)
        {
            string constr = "server=localhost;User Id=root;password=111111;Database=musicdatabase";
            MySqlConnection mycon = new MySqlConnection(constr);
            mycon.Open();
            MySqlCommand mycmd = new MySqlCommand("insert into users(name,password,email) values(1,'fanny','111111','[email protected]',1)", mycon);
            if (mycmd.ExecuteNonQuery() > 0)
            {
                Console.WriteLine("數據插入成功!");
            }
            Console.ReadLine();
            mycon.Close();
        }*/
    }

數據庫就兩張表,設置了外鍵,結構如下:

界面就很簡陋,先就這樣吧,等我什麼時候有時間有心情的時候完善一下

上面那個ListView的格式不知道怎麼回事,試了下別的方式還是這樣,就算了,自己做着玩玩就這樣隨便吧。播放全部就是列表開始放了,添加歌曲也做了。有興趣的可以下載來玩一下,其實最好還是動手自己敲一遍。對VS的界面啊,C#的語法啊都會熟悉一點。最後,希望項目可以進展順利,自己的能力再多多提升。

下載鏈接:https://download.csdn.net/download/sinat_29398599/10914043

 

 

 

 

 

 

 

 

 

 

 

 

 

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