Diskuze: Java client - server
V předchozím kvízu, Online test znalostí Java, jsme si ověřili nabyté zkušenosti z kurzu.
Zobrazeno 3 zpráv z 3.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
V předchozím kvízu, Online test znalostí Java, jsme si ověřili nabyté zkušenosti z kurzu.


Toto se ti nebude líbit ale nejde to jinak. Vyser se na to programování sítě(socket) + spojení s databází. Máš elementární problémy v základní syntaxi. Nejdříve se nauč pořádně základní programování to jest : třídy, objekty, reference, metody, datové typy, cykly, vyjímky, proměnné třídy, apod. Tento program klient-server zkus až tak za 2-3 měsíce až ti ty věci budou skutečně jasné.
V prvé řadě jsi ani neřekl jakou používáš databázi. V druhé řádě tento kus kódu není zrovna 2x výstižný, hádám, že nad tímhle kouskem je třída Server, ale můžu jen hádat. Navíc pleteš dvě věci databázový klient a do toho nějaký další server socket. Ten nejspíše s databází nemá nic společného.
Tyhle věci se řeší tak, že máš již nějakou třídu, kterou často udělal někdo jiný (většinou tvůrce databáze) a ten používáš.
Nicméně abych splnil tvou otázku takhle například vypadá moje databázová třída s "login" metodou v mojí serverové aplikaci. Používám C# nicméně ti jde asi o úplný základ jak to vůbec může vypadat.
class Database
{
    private string connectionString;
    public Database(string server, string database, string uid, string password)
    {
        connectionString = "SERVER=" + server + ";" + "DATABASE=" + database + ";" + "UID=" + uid + ";" + "PASSWORD=" + password + ";CHARSET=utf8mb4";
    }
    public bool AreCredentialsOK(string username, string password)
    {
        using (MySqlConnection connection = new MySqlConnection(connectionString))
        {
            connection.Open();
            using (MySqlCommand cmd = connection.CreateCommand())
            {
                cmd.CommandText = "SELECT Count(*) FROM logins WHERE username = @user AND password = @pass";
                cmd.Parameters.AddWithValue("@user", username);
                cmd.Parameters.AddWithValue("@pass", password);
                int count = int.Parse(cmd.ExecuteScalar().ToString());
                return count > 0;
            }
        }
    }
}
					Zobrazeno 3 zpráv z 3.