私は現在、楽しいJavaプロジェクト用のボットをコーディングしており、警告システムを作成しています。私が現在持っている問題は、ボットを再起動するたびに入力されたデータが失われるということです。私は今これを働かせようとしている5日間を探しました。助けてください!javaからmysqlデータベースに情報を保存するには
//warn_command
if(message.startsWith("!warn") || message.startsWith("!Warn")) {
String[] command = message.split(" ");
String warn_target = command[1];
String warn_reason = "";
//admin/op_target checker
for(String admin: adminList) {
if(warn_target.equals(admin)) {
target_a_bool = true;
} else {
target_a_bool = false;
}
}
for(String op: opList) {
if(warn_target.equals(op)) {
target_o_bool = true;
} else {
target_o_bool = false;
}
}
//end_admin/op_target checker
for(int i = 2; i < command.length; i++) {
warn_reason += command[i];
if (i != (command.length - 1)) {
warn_reason += " ";
}
}
if(target_a_bool == true) {
sendMessage(channel, "This user cannot be warned");
target_a_bool = false;
} else if(target_o_bool == true) {
if(sender_a_bool == true) {
sendMessage(channel, sender + " has warned " + warn_target + " for reason " + warn_reason);
warn_list.add("User Warned: " + warn_target + " | Reason Warned: " + warn_reason + " | Warned by: " + sender);
sender_a_bool = false;
} else {
sendMessage(channel, "This user cannot be warned");
} target_o_bool = false;
} else {
sendMessage(channel, sender + " has warned " + warn_target + " for reason " + warn_reason);
warn_list.add("User Warned: " + warn_target + " | Reason Warned: " + warn_reason + " | Warned by: " + sender);
}
}
//end_warn_command
//warn_checker
if(message.equalsIgnoreCase("!w list")) {
for(int i = 0; i < warn_list.size(); i++) {
if(i != warn_list.size()) {
String warnlist = warn_list.toString();
sendMessage(channel, warnlist);
}
}
}
//end_warn_checker`
//warn_list_clearer
if(message.equalsIgnoreCase("!c warnlist")) {
if(sender_a_bool == true) {
warn_list.clear();
sendMessage(channel, sender + " has cleared the warn list!");
sender_a_bool = false;
}
}
//end_warn_list_clearer
すべてのブール値と配列は、ボットのconfig部分であらかじめ定義されています。このコードはすべて機能しています。ボットを再起動するたびに、配列に保存されているすべての情報が削除されます。
EDIT:phpMyAdminで使用しているmysqlデータベースに接続したいと思います。これはすべて可能ですか?
これは、どのような種類のプログラムでも同じです。データはRAMに保存され、プログラムが終了すると終了します。解決方法は、永続ストレージを使用することです。ディスク上のファイル、データベースなど – ADyson
ADysonでは、SQLデータベースの作成方法を手掛かりにしていますか? –
データベースを作成してSQLを使用する方法を示すチュートリアルが文字通り何百もあります。私は自分の試みをミックスに加える必要はないと思う。 P.S.ちょっとした修正:あなたの編集は「phpMyAdmin経由のホスティング」と書いています。それはかなり正確ではありません。 MySQLはあなたのマシン上でサービスとして動作します。 phpMyAdminはデータベースにウィンドウを表示する多くのユーザーインターフェイスの1つです。グラフィックやコマンドラインをベースとした他にも多くのプログラム言語があります。 – ADyson