最近因爲工作需要,囫圇學了一下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