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.