Форма входа для отключенной архитектуры в c # - PullRequest
0 голосов
/ 10 марта 2012

Я использую Visual Studio 2008 для создания приложения для Windows. Я хочу создать форму входа в систему в автономном режиме. Я сталкиваюсь с проблемой, когда я пытаюсь проверить, заполнена ли DataTable или нет, она показывает, что она заполнена всегда.

Код для кнопки входа в систему:

try
        {
            //getting connectionString
            mcc = new myConnectionClass();
            conString = mcc.MyConnection;
            //opening connection con
            con = new SqlConnection(conString);
            string queryString = "select * from LOGIN_TABLE where LOGIN_ID = @LOGIN_ID and LOGIN_PASSWORD = @LOGIN_PASSWORD";
            //dataset ds , SqlDataAdapter sda
            ds = new DataSet();
            sda = new SqlDataAdapter();
            //sqlcommand 
            cmd = new SqlCommand(queryString, con);
            cmd.Parameters.Add(new SqlParameter("LOGIN_ID", txtLogin.Text));
            cmd.Parameters.Add(new SqlParameter("LOGIN_PASSWORD", txtPass.Text));
            sda.SelectCommand = cmd;

            sda.Fill(ds, "LOGIN_TABLE");
            //datatable dt
            dt = ds.Tables["LOGIN_TABLE"];
            //checking is datatable is empty 
            if (dt != null)
            {
                MessageBox.Show("Login Successed");
            }
            else
            {                   
                MessageBox.Show("Login Failed");
            }
        }
        catch (Exception ex)
        {
            MessageBox.Show(ex.Message);
        }
        finally
        {
            ds.Clear();
            dt.Clear();
        }

1 Ответ

1 голос
/ 10 марта 2012

Ваша ошибка лежит в проверке на

if(dt != null)

это всегда так, если ваш LOGIN_TABLE существует

вам нужно проверить количество строк.

if(dt.Rows.Count != 0)

Позвольте мне также сказать, что с точки зрения безопасности хранение логина и пароля в базе данных не является хорошей идеей.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...