From ae8e4424e48ac087e1b5123f16ac8c1c3f6d072a Mon Sep 17 00:00:00 2001 From: jasonchenwork Date: Fri, 11 Apr 2025 11:08:13 +0800 Subject: [PATCH] =?UTF-8?q?=E6=AD=8C=E6=9B=B2=E7=B7=A8=E8=99=9FSQL?= =?UTF-8?q?=E6=9F=A5=E8=A9=A2+=E8=AE=8A=E6=95=B8=E5=9E=8B=E6=85=8B?= =?UTF-8?q?=E8=AA=BF=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- PrimaryFormParts/PrimaryForm.cs | 2 +- .../PrimaryForm.SongSearch.NumberSearch.cs | 23 +++++++++++++++++-- .../PrimaryForm.SongSearch.PinyinSearch.cs | 22 ++++++++++++++++-- ...rimaryForm.SongSearch.StrokeCountSearch.cs | 7 ------ .../PrimaryForm.SongSearch.WordCountSearch.cs | 3 +-- 5 files changed, 43 insertions(+), 14 deletions(-) delete mode 100644 PrimaryFormParts/SongSearch/PrimaryForm.SongSearch.StrokeCountSearch.cs diff --git a/PrimaryFormParts/PrimaryForm.cs b/PrimaryFormParts/PrimaryForm.cs index c4c7a08..2c453cd 100644 --- a/PrimaryFormParts/PrimaryForm.cs +++ b/PrimaryFormParts/PrimaryForm.cs @@ -1970,7 +1970,7 @@ public class MultiPagePanel : Panel { string searchText = artistLabel.Text; // 取得輸入內容 string query = $"SELECT * FROM SongLibrary WHERE `歌星 A` = '{searchText}' OR `歌星 B` = '{searchText}'"; - List searchResults = PrimaryForm.Instance.SearchSongs_Mysql(query); + var searchResults = PrimaryForm.Instance.SearchSongs_Mysql(query); // 重置分頁 PrimaryForm.Instance.currentPage = 0; currentSongList = searchResults; diff --git a/PrimaryFormParts/SongSearch/PrimaryForm.SongSearch.NumberSearch.cs b/PrimaryFormParts/SongSearch/PrimaryForm.SongSearch.NumberSearch.cs index 399dca6..a045240 100644 --- a/PrimaryFormParts/SongSearch/PrimaryForm.SongSearch.NumberSearch.cs +++ b/PrimaryFormParts/SongSearch/PrimaryForm.SongSearch.NumberSearch.cs @@ -3,6 +3,7 @@ using System.Drawing.Imaging; using IniParser; using IniParser.Model; using System.Text; + /* WordCountSongs -> SongIDSearch WordCount -> SongID @@ -537,8 +538,26 @@ namespace DualScreenDemo numberSearchSongButton.BackgroundImage = numberSearchSongNormalBackground; // 隱藏與 SongID 歌手相關的所有按鈕 SetSongIDSearchAndButtonsVisibility(false); + FindNumberSongs(); // 搜尋歌曲 } + private void FindNumberSongs(){ + string searchText = inputBoxSongIDSearch.Text; + // 在這裡添加搜尋歌曲的邏輯 + // 例如:根據輸入框的內容搜尋歌曲 + string query = $"SELECT * FROM SongLibrary WHERE `歌曲編號` = '{searchText}' "; + + var searchResults = SearchSongs_Mysql(query); + // 重置分頁 + currentPage = 0; + currentSongList = searchResults; + totalPages = (int)Math.Ceiling((double)searchResults.Count / itemsPerPage); + // 更新多頁面面板的內容 + multiPagePanel.currentPageIndex = 0; + multiPagePanel.LoadSongs(currentSongList); + + + } /// /// 創建一個特殊的按鈕,並設定其顯示屬性、事件處理和位置。 @@ -604,7 +623,7 @@ namespace DualScreenDemo ResizeAndPositionControl(inputBoxSongIDSearch, inputBoxSongIDCoords.X, inputBoxSongIDCoords.Y, inputBoxSongIDCoords.Width, inputBoxSongIDCoords.Height); // 設定文本變更事件,當輸入框內容改變時觸發 - inputBoxSongIDSearch.TextChanged += (sender, e) => + /*inputBoxSongIDSearch.TextChanged += (sender, e) => { string searchText = inputBoxSongIDSearch.Text; // 取得輸入內容 @@ -619,7 +638,7 @@ namespace DualScreenDemo // 更新多頁面面板的內容 multiPagePanel.currentPageIndex = 0; multiPagePanel.LoadSongs(currentSongList); - }; + };*/ // 將輸入框加入到窗體的控件集合中 this.Controls.Add(inputBoxSongIDSearch); diff --git a/PrimaryFormParts/SongSearch/PrimaryForm.SongSearch.PinyinSearch.cs b/PrimaryFormParts/SongSearch/PrimaryForm.SongSearch.PinyinSearch.cs index 1877a73..5b284f1 100644 --- a/PrimaryFormParts/SongSearch/PrimaryForm.SongSearch.PinyinSearch.cs +++ b/PrimaryFormParts/SongSearch/PrimaryForm.SongSearch.PinyinSearch.cs @@ -258,6 +258,24 @@ namespace DualScreenDemo pinyinSearchSongButton.BackgroundImage = pinyinSearchSongNormalBackground; // 設定拼音輸入框與所有相關按鈕的可見性為 false SetPinYinSongsAndButtonsVisibility(false); + FindPinYinSongs(); + + } + private void FindPinYinSongs(){ + string searchText = inputBoxPinYinSongs.Text; + // 在這裡添加搜尋歌曲的邏輯 + // 例如:根據輸入框的內容搜尋歌曲 + string query = $"SELECT * FROM SongLibrary WHERE `歌曲拼音` LIKE '{searchText}%' "; + + var searchResults = SearchSongs_Mysql(query); + // 重置分頁 + currentPage = 0; + currentSongList = searchResults; + totalPages = (int)Math.Ceiling((double)searchResults.Count / itemsPerPage); + // 更新多頁面面板的內容 + multiPagePanel.currentPageIndex = 0; + multiPagePanel.LoadSongs(currentSongList); + } /// @@ -312,7 +330,7 @@ namespace DualScreenDemo ResizeAndPositionControl(inputBoxPinYinSongs, x, y, width, height); // **綁定 TextChanged 事件 (當輸入內容改變時觸發搜尋)** - inputBoxPinYinSongs.TextChanged += (sender, e) => + /*inputBoxPinYinSongs.TextChanged += (sender, e) => { string searchText = inputBoxPinYinSongs.Text; @@ -326,7 +344,7 @@ namespace DualScreenDemo // 更新 UI,顯示搜尋結果 multiPagePanel.currentPageIndex = 0; multiPagePanel.LoadSongs(currentSongList); - }; + };*/ // 將拼音輸入框加入視窗中 this.Controls.Add(inputBoxPinYinSongs); diff --git a/PrimaryFormParts/SongSearch/PrimaryForm.SongSearch.StrokeCountSearch.cs b/PrimaryFormParts/SongSearch/PrimaryForm.SongSearch.StrokeCountSearch.cs deleted file mode 100644 index 3358ab9..0000000 --- a/PrimaryFormParts/SongSearch/PrimaryForm.SongSearch.StrokeCountSearch.cs +++ /dev/null @@ -1,7 +0,0 @@ -namespace DualScreenDemo -{ - public partial class PrimaryForm - { - - } -} \ No newline at end of file diff --git a/PrimaryFormParts/SongSearch/PrimaryForm.SongSearch.WordCountSearch.cs b/PrimaryFormParts/SongSearch/PrimaryForm.SongSearch.WordCountSearch.cs index 4b68c14..bbd372a 100644 --- a/PrimaryFormParts/SongSearch/PrimaryForm.SongSearch.WordCountSearch.cs +++ b/PrimaryFormParts/SongSearch/PrimaryForm.SongSearch.WordCountSearch.cs @@ -3,7 +3,6 @@ using System.Drawing.Imaging; using IniParser; using IniParser.Model; using System.Text; -using DBObj; /* @@ -561,7 +560,7 @@ namespace DualScreenDemo query = string.Empty; // 清空查詢 return; } - List searchResults = SearchSongs_Mysql(query); + var searchResults = SearchSongs_Mysql(query); // 重置分頁 currentPage = 0; currentSongList = searchResults;