期間指定でレース検索ができるようになりました。
日付文字列をハイフン付きに変換してWHERE条件式に代入しました。
検索条件は日付だけでなく、距離、競馬場、条件戦なども追加するつもりです。
使っていて感じるのですが、もしかしたらTARGET Frontierよりも断然早いのでは。
今のところ機能面では話にならないものの、検索速度自体はMySQLに分がありそうです。まあ操作している人間は初学者ですが、一応本式のデータベースですから。
TARGET Frontierは久しく使っていないので、期間限定で再契約しノウハウを学びたいです。
<コードの一部を掲載。なお入力値は自作ライブラリmysql_searchにて処理>
# フレームの作成
frameA = FrameA(master=horse)
# IntVarの初期化
var = tk.IntVar()
for i in range(1000):
print(f'var for文先頭 {var.get()}')
children = frameA.winfo_children()
if var.get() == 0 or var.get() == 1:
print('分岐A')
# 馬名の入力を待機
children[2].wait_variable(var)
# 入力した馬名を取得
name = children[1].get()
print(f'name {name}')
if name != '':
# 競走馬成績を検索
mysql_search.Mysql_search().horse_result(name)
else:
print(f'分岐B')
childrenB = frameB.winfo_children()
childrenB2 = frameB2.winfo_children()
childrenB3 = frameB3.winfo_children()
print(f'frameB_info\n{childrenB}\n')
print(f'frameB2_info\n{childrenB2}\n')
print(f'frameB3_info\n{childrenB3}\n')
# レース名の入力を待機
childrenB[1].wait_variable(var)
# 入力したレース名を取得
race = childrenB[1].get()
start = childrenB2[0].get()
if start == '':
start = '860101'
end = childrenB3[0].get()
if end == '':
end = (datetime.date.today()).strftime("%y%m%d")
print(f'race {race}')
print(f'開始日 {start}')
print(f'終了日 {end}')
if race != '':
# レース結果を検索
mysql_search.Mysql_search().race_result(race,start,end)
frame.mainloop()