0
自分のTCPアプリケーションを実行しようとしましたが、今はユーザーが終了しているかどうかを確認します。MySQL Async - どのように使用できますか?
私の質問は次のとおりです。mySQL Asyncはどのように使用できますか?
public static bool CheckUserLogin(string Username,string Password){
try{
if(string.IsNullOrEmpty(Username) || string.IsNullOrEmpty(Password)){ return false; }
if (!System.Text.RegularExpressions.Regex.IsMatch(Username, "^[a-zA-Z0-9\x20]+$")) { return false; }
if (!System.Text.RegularExpressions.Regex.IsMatch(Password, "^[a-zA-Z0-9\x20]+$")) { return false; }
bool UserExit = false;
DataBase_Connection.DB_Conn.OpenAsync();
try{
string c_query = "SELECT COUNT(*) FROM `KoN_Account` WHERE BINARY `AccountName` = @U_Name AND `HashPass` = @P_Pass LIMIT 1;";
using (MySqlCommand CU_cmd = new MySqlCommand(c_query, db_Conn)){
CU_cmd.Parameters.AddWithValue("@U_Name", Username);
CU_cmd.Parameters.AddWithValue("@P_Pass", Password);
var count = CU_cmd.ExecuteScalar();
UserExit = Convert.ToBoolean(count);
}
}
catch{
}
DataBase_Connection.DB_Conn.CloseAsync();
return UserExit;
}
catch (Exception ex){
LoginConsole.WriteConsoleLoginParams(System.ConsoleColor.Red, "ERROR CheckUserLogin", ex.ToString() + "\nFailed to connect to the database (server shutdown...)");
}
return false;
}
私の質問は正しいですか? OpenAsyncとCloseAsync?
また、どのように使用できますか:ExecuteScalarを非同期の方法で使用しますか?あなたがTask<bool>
を返すにbool
を返すからあなたの方法を変更し、async
修飾子を追加する必要がありますasync
バージョンを使用するためには、あなたの助け
?検証されていないユーザーは他に何ができますか? – efekctive
TCPサーバー用です。多くのユーザーが彼に接続します。 – EastMile
これは[バグ](https://bugs.mysql.com/bug.php?id=70111)です。 –