Re: Роздуми щодо клієнт-серверної взаємодії.
Звісно що ні. У вас є об'єкт "повідомлення" (SuperArg, якщо вам так зручно) з нащадками. Це повідомлення, звісно, має смикати не безпосередньо базу, а певний об'єкт, який і надає доступ до бази чи чогось там. Далі, гадаю, безглуздо розмовляти без коду.
ну дивітся. От є SuperArg і його нащадок TryToLogin з методом, котрий має зробити запит до БД, тут я описав код для запиту відразу в методі, але якщо навіть я створю об'єкт, до котрого буде звертатись метод Execute для доступу до БД, то всеодно ж треба, щоб цей об'єкт був описаний як в клієнті, так і на сервері?
abstract class SuperArg
{
abstract public void Execute();
}
class TryToLogin : SuperArg
{
public override void Execute()
{
string request = "call SP_LogIn(" + "'" + log + "'" + "," + "'" + psw + "'" + ")";
MySqlCommand myCommand = new MySqlCommand(request, myConnection);
int value = 0;
try
{
Console.WriteLine("trying open connection to db");
myConnection.Open();
value = Int32.Parse(myCommand.ExecuteScalar().ToString());
myConnection.Close();
Console.WriteLine("value = " + value);
Console.WriteLine("done sending req to bd. Value = " + value);
conn.user_id = value;
}
catch (Exception e)
{
myConnection.Close();
Console.WriteLine(e.Message);
}
}
}
p.s. тут myConnection - це об'єкт MySQLConnection, котрий потрібен для доступу до БД, він десь там вище ініціалізується.