powered by simpleCommunicator - 2.0.54     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Форма авторизации (как сопоставить пароль)
3 сообщений из 3, страница 1 из 1
Форма авторизации (как сопоставить пароль)
    #38928322
2viper2viper
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть форма на которой добавлены комбобокс (подгружает с бд список логинов), и текстбокс, куда нужно вводить пароль
В бд создана таблица ACCESS, состоящая с полей id, login и password.
По задумке, подгружаю в DataTable данные с таблице ACCESS - этот момент работает;
получаю id c комбобокса - это тоже работает;

Далее по логике в if нужно добавить проверку условия:
if(comboBox1.ValueMember == DataTable.id && textbox1.text == DataTable.password)
Помогите пожалуйста, правильно составить это условие.
Если бы можно было присвоить comboBox1.ValueMember не одно, а например два значения
(comboBox1.ValueMember1 = "id_office";
comboBox1.ValueMember2 = "password";) - вопрос отпал бы сам собой.
Буду благодарен за помощь


Код
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Data.SqlClient;

namespace Клиент_оперативный_отчет
{
    public partial class Form1 : Form
    {
        string log1;
        string pas1;
        public Form1()
        {
            InitializeComponent();
            FillComboCOK();
         }

        public void FillComboCOK()
        {
            string connstring1 = @"Data Source";
            SqlConnection sqlconn1 = new SqlConnection(connstring1);
            SqlCommand sqlcomm1 = new SqlCommand("ACCESS", sqlconn1);
            sqlcomm1.CommandType = System.Data.CommandType.StoredProcedure;
            try
            {
                sqlconn1.Open();
                SqlDataAdapter sqladap1 = new SqlDataAdapter(sqlcomm1);
                System.Data.DataTable dt1 = new System.Data.DataTable();
                sqladap1.Fill(dt1);
                comboBox1.ValueMember = "id_office";
                comboBox1.DisplayMember = "login";
                comboBox1.DataSource = dt1;


                sqladap1.Update(dt1);
                sqlconn1.Close();
            }
            catch (Exception ex) { };
        }

        private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
        {

        }

        private void button1_Click(object sender, EventArgs e)
        {
            log1 = comboBox1.SelectedValue.ToString();
            try
            {

                if (log1 ==    )
                {
                    Form1.ActiveForm.Visible = false;
                    Form2.ActiveForm.Visible = true;
                }   Close();
            }
            catch (Exception ex) { };

        }
    }
}

...
Рейтинг: 0 / 0
Форма авторизации (как сопоставить пароль)
    #38928551
Pallaris
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2viper2viper,

авторЕсли бы можно было присвоить comboBox1.ValueMember не одно, а например два значения
(comboBox1.ValueMember1 = "id_office";
comboBox1.ValueMember2 = "password";) - вопрос отпал бы сам собой.


В ValueMember может быть сколько угодно сложный объект со стопиццот полями. Но в твоем случае надыть по-другому: по нажатию кнопки логин передавать указанные юзером логин и пароль в некий метод отдельного класса MySecurity, и там сверяться с базой на корректность.
...
Рейтинг: 0 / 0
Форма авторизации (как сопоставить пароль)
    #38929632
2viper2viper
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Pallaris,
так и сделал
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
  protected void CheckSnils()
        {
            string connstring1 = @"Data Source";
            bool pass, name;

            SqlConnection conn = new SqlConnection(connstring1);
            string queryPass = "Select password FROM where password='" + textBox1.Text + "'";
            string queryName = "Select id_office FROMwhere id_office='" + log1 + "'";

            using (SqlDataAdapter dataAdapter = new SqlDataAdapter(queryPass, conn))
            {
                DataTable table = new DataTable();
                table.Locale = System.Globalization.CultureInfo.InvariantCulture;
                dataAdapter.Fill(table);
                if (table.Rows.Count > 0)
                {
                    pass = true;
                }
                else
                {                    
                    return;
                }
            }
            using (SqlDataAdapter dataAdapter2 = new SqlDataAdapter(queryName, conn))
            {
                DataTable table2 = new DataTable();
                table2.Locale = System.Globalization.CultureInfo.InvariantCulture;

                dataAdapter2.Fill(table2);
                if (table2.Rows.Count > 0)
                {
                    name = true;
                }
                else
                {
                    return;
                }
            }

            if (pass == true && name == true)
            {
                Form2 f = new Form2();
                f.Show();
                this.Hide();
            }

...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Форма авторизации (как сопоставить пароль)
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]