Форум программистов, компьютерный форум, киберфорум
C#: Базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.74/34: Рейтинг темы: голосов - 34, средняя оценка - 4.74
0 / 0 / 0
Регистрация: 16.02.2018
Сообщений: 44

Вывод логина после авторизации

20.02.2018, 14:13. Показов 7110. Ответов 40
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Подскажите пожалуйста. Есть бд на ms sql server 2014 и visual studio 2013,я сделал форму авторизации,а теперь хотел уточнить через какой компонент или код мне на форме выводить имя учетной записи. Чтобы видеть под какой я учеткой зашел. Имя учетной записи хранится в бд ms sql server 2014
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
20.02.2018, 14:13
Ответы с готовыми решениями:

Вывод ФИО после авторизации
Добрый день! Прошу помощи) застряла на этом этапе. Запускаю приложение, после окна авторизации с правами открывается нужная форма, для...

Проверка логина и пароля при авторизации в БД
Делаю форму авторизации и хочу что бы при вводе логина и пароля программа проверяла правильность введенных данных но проблема в том что...

Форма авторизации (проверка на ошибку ввода логина или пароля)
можно ли из таким способом сделать проверку на ошибку ввода логина или пароля или для этого надо загрузить таблицу в dataset?? string...

40
Эксперт .NET
 Аватар для Usaga
14739 / 9513 / 1364
Регистрация: 21.01.2016
Сообщений: 35,903
22.02.2018, 06:44
Студворк — интернет-сервис помощи студентам
vladislav42, что значит "так"?) Серьёзно что ли?
0
0 / 0 / 0
Регистрация: 16.02.2018
Сообщений: 44
22.02.2018, 06:45  [ТС]
ну как вы его и привели

Добавлено через 30 секунд
не могли бы привести код под форм1 и форм2 для понимания
0
Эксперт .NET
 Аватар для Usaga
14739 / 9513 / 1364
Регистрация: 21.01.2016
Сообщений: 35,903
22.02.2018, 07:01
vladislav42, вы и "строка подключения" на строку подключения не заменяли? И "ЛОГИН" и "ПАРОЛЬ" на логин и пароль не заменяли? Думали, что оно магически само всё заработает и какие-то там формы начнёт открывать?

Добавлено через 8 минут
Кстати, а это что за чертовня:

C#
1
f.label1.Text = (int)cmd.SelectCommand.ExecuteScalar("Select Name from Dostup");
Это вы методом тыка работаете так?
0
0 / 0 / 0
Регистрация: 16.02.2018
Сообщений: 44
22.02.2018, 07:33  [ТС]
не там я менял,а почему методом тыка?
0
Эксперт .NET
 Аватар для Usaga
14739 / 9513 / 1364
Регистрация: 21.01.2016
Сообщений: 35,903
22.02.2018, 08:00
vladislav42, покажите, как вы код использовали, не заставляйте гадать.
0
0 / 0 / 0
Регистрация: 16.02.2018
Сообщений: 44
22.02.2018, 08:48  [ТС]
код Form1
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
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Data.Sql;
using System.Data.SqlClient;
 
namespace Login
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
 
        private void button2_Click(object sender, EventArgs e)
        {
            Application.Exit();
        }
 
        private void button1_Click(object sender, EventArgs e)
        {
            SqlConnection con = new SqlConnection(@"Data Source=10.52.100.51\SQLEXPRESS;Initial Catalog=MatrDostup;Integrated Security=True;Connect Timeout=15;Encrypt=False;TrustServerCertificate=False");
            con.Open();
            SqlDataAdapter cmd = new SqlDataAdapter("Select Count (*) From Dostup where Login = '" + textBox1.Text + "' and Pass = '" + textBox2.Text + "'", con);
            DataTable dt = new DataTable();
            cmd.Fill(dt);
            if (dt.Rows[0][0].ToString() == "1")
            {
                this.Hide();
                Form2 f = new Form2();
                f.label1.Text = (int)cmd.SelectCommand.ExecuteScalar();
                f.Show(); 
            }
            else
            {
                MessageBox.Show("Неправильно введен логин или пароль:{0}", "Ошибка входа", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
            }
            //{
                //cmd.Parameters.AddWithValue("login", "ЛОГИН");
                //cmd.Parameters.AddWithValue("pass", "ПАРОЛЬ");
 
                
                //Console.Write("Is authenticated: {0}", accountsCount != 0);
            //}
        }
    }
}
а форм 2
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
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Data.Sql;
using System.Data.SqlClient;
 
namespace Login
{
    public partial class Form2 : Form
    {
        public Form2()
        {
            InitializeComponent();
        }
        private void Form2_FormClosed(object sender, FormClosedEventArgs e)
        {
            // вызываем главную форму, которая открыла текущую, главная форма всегда = 0 - [0]
            Form authoriz = Application.OpenForms[0];
            authoriz.StartPosition = FormStartPosition.Manual; // меняем параметр StartPosition у Form1, иначе она будет использовать тот, который у неё прописан в настройках и всегда будет открываться по центру экрана
            authoriz.Left = this.Left; // задаём открываемой форме позицию слева равную позиции текущей формы
            authoriz.Top = this.Top; // задаём открываемой форме позицию сверху равную позиции текущей формы
            authoriz.Show(); // отображаем Form1
        }
        private void toolStripMenuItem4_Click(object sender, EventArgs e)
        {
            Application.Exit();
        }
 
        private void toolStripMenuItem5_Click(object sender, EventArgs e)
        {
            OPO программа = new OPO();
            программа.ShowDialog();
        }
 
        private void toolStripMenuItem1_Click(object sender, EventArgs e)
        {
            Form authoriz = new Form1();
            authoriz.Left = this.Left; // задаём открываемой форме позицию слева равную позиции текущей формы
            authoriz.Top = this.Top; // задаём открываемой форме позицию сверху равную позиции текущей формы
            authoriz.Show(); // отображаем Form1
            this.Hide(); // скрываем Form2 (this - текущая форма)
        }
    }
    
}
0
Эксперт .NET
 Аватар для Usaga
14739 / 9513 / 1364
Регистрация: 21.01.2016
Сообщений: 35,903
22.02.2018, 08:57
vladislav42, я вас попросил показать как вы использовали код, что я вам дал и который, с ваших слов, не работает. А вы мне что показываете?
0
0 / 0 / 0
Регистрация: 16.02.2018
Сообщений: 44
22.02.2018, 09:30  [ТС]
Usaga,я код пытался подредактировать под свои "нужды" формы.
0
Эксперт .NET
 Аватар для Usaga
14739 / 9513 / 1364
Регистрация: 21.01.2016
Сообщений: 35,903
22.02.2018, 09:36
vladislav42, Но я не увидел того, что вам рекомендовал.

Добавлено через 51 секунду
Уберите хлам с SqlDataAdapter и DataTable. Эти вещи не имеют отношения к тому, что вы хотите.
0
0 / 0 / 0
Регистрация: 16.02.2018
Сообщений: 44
22.02.2018, 09:40  [ТС]
Убирал,непонятно как sqlcommand и тд написать под себя
0
Эксперт .NET
 Аватар для Usaga
14739 / 9513 / 1364
Регистрация: 21.01.2016
Сообщений: 35,903
22.02.2018, 09:49
vladislav42, что не понятно? var accountsCount = (int)cmd.ExecuteScalar(); возвращает количество аккаунтов в базе с указанными логином и паролем. Если accountsCount == 0, значит пользователя нет, иначе - есть. Всё. Проверяете данную переменную на ноль и решаете, показывать форму вторую или нет.
0
0 / 0 / 0
Регистрация: 16.02.2018
Сообщений: 44
22.02.2018, 09:54  [ТС]
Executescalar не находит такую функцию
0
Эксперт .NET
 Аватар для Usaga
14739 / 9513 / 1364
Регистрация: 21.01.2016
Сообщений: 35,903
22.02.2018, 10:11
Кто не находит? Пространство имён System.Data.SqlClient подключено?

Добавлено через 10 минут
vladislav42, а вообще, если честно, то выглядит так, что вы за дровами в лес шли и вдруг решили написать какое-то приложение с авторизацией... Вы C# вообще впервые видите?
0
0 / 0 / 0
Регистрация: 16.02.2018
Сообщений: 44
22.02.2018, 10:26  [ТС]
да подключено,с C# впервые,6 лет назад учился на C++
0
Эксперт .NET
 Аватар для Usaga
14739 / 9513 / 1364
Регистрация: 21.01.2016
Сообщений: 35,903
22.02.2018, 10:31
vladislav42, ну если учили С++, то до банального if (accountsCount == 0) должны додуматься...
0
0 / 0 / 0
Регистрация: 16.02.2018
Сообщений: 44
22.02.2018, 10:46  [ТС]
так?
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
        private void button1_Click(object sender, EventArgs e)
            using (var con = new SqlConnection(@"Data Source=10.52.100.51\SQLEXPRESS;Initial Catalog=MatrDostup;Integrated Security=True;Connect Timeout=15;Encrypt=False;TrustServerCertificate=False"))
            {
                con.Open();
                using (var cmd = new SqlCommand("SELECT COUNT(1) FROM Dostup where Login=@login AND Pass=@pass", con);
                if (accountsCount == 0)
                {   this.Hide();
                    Form2 f = new Form2();
                    cmd.Parameters.AddWithValue("login", "ЛОГИН");
                    cmd.Parameters.AddWithValue("pass", "ПАРОЛЬ");
 
                    var accountsCount = (int)cmd.ExecuteScalar();
                    f.label1.text = ("Is authenticated: {0}", accountsCount != 0);
                    f.Show();
                    else
            {
                MessageBox.Show("Неправильно введен логин или пароль:{0}", "Ошибка входа", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
            }
                }
Добавлено через 3 минуты
как бы мне уже "добить" эти формы? а то я 3 дня с ними бьюсь
0
22.02.2018, 10:48

Не по теме:

vladislav42, Забудьте про формы, забудьте про сиквел - учитесь писать простенькие алгоритмы в консольке. Хотя бы с пол года - изучайте алгоритмы, переменные, условия, методы. Вам еще очень рано думать о формах, классах, пространствах имен - судя по последнему коду - пора учиться на бумажке строить алгоритм работы.
Не ваше это.

0
0 / 0 / 0
Регистрация: 16.02.2018
Сообщений: 44
22.02.2018, 10:53  [ТС]
ну давайте это доделаем .....
0
Эксперт .NET
 Аватар для Usaga
14739 / 9513 / 1364
Регистрация: 21.01.2016
Сообщений: 35,903
22.02.2018, 11:01
vladislav42, судя по коду выше, думать вы не хотите, когда код пишете. Так вы долго будете доделывать... Вот что за фигня в шестой строке? Откуда и зачем это? Метод тыка и судороги в руках?
0
 Аватар для pincet
1655 / 1154 / 173
Регистрация: 23.07.2010
Сообщений: 6,914
22.02.2018, 11:46
Цитата Сообщение от vladislav42 Посмотреть сообщение
6 лет назад учился на C++
отвратительно учился, факт!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
22.02.2018, 11:46

WebRequest работа после авторизации
Здравствуйте. Есть задача, авторизоваться на сайте поставщика и скачать с него новый прайс-лист. Бьюсь 3й день, не получается...

Передача данных после окна авторизации
Есть окно авторизации,которое после входа открывает вторую форму.На второй форме хочу вывести типа "Добро пожаловать ФИО" (ФИО -...

Http запрос к Web-сервису после успешной авторизации
Привет всем! Нуждаюсь в помощи при создании правильного запроса. У меня клиент-приложение посылает запрос на Web-сервис, в результате в...

Вывод логина вместо ссылки авторизации
Добрый день. Такая мысль: вывести в панели навигации, вместо ссылки на авторизацию, логин пользователя, если он уже авторизовался. Как это...

Лишний вывод после проверки логина
Ребят, такая проблема: делаю проверку логина, когда ввожу неверный, должно выводиться сообщение о неверном логине, но на 3ю попытку...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
40
Ответ Создать тему
Новые блоги и статьи
Оттачиваю умение писать js программы.
russiannick 30.08.2026
Проектом выходного дня стало написание Книги шифров Виженера. Итогом стала версия 200, синий туман. Синий туман назван так, потому что замораживает текст под собой. Нажатие синих кнопок управляют. . .
мат медиц модель 30. презентация проекта
anaschu 27.08.2026
хоп хоп хоп хидахоп, а я кладую))
Как у меня протекала болезнь
zorxor 27.08.2026
Здравствуйте, друзья! Эта запись блога предназначена именно для вас - для моих дорогих друзей, которые знали меня лично. Чтобы ответить на вопрос - а что же со мной произошло на самом деле? Я учился. . .
Нашел вот забавное видео о измерениях. Лучшее что я видел на эту тему
kumehtar 26.08.2026
ILETXiw9bMQ Основная суть и тезисы по измерениям: 0D (Нулевое измерение): точка, не имеющая длины, ширины, высоты или объема. Объект не может перемещаться в 0D. 1D (Первое измерение):. . .
[EasyBuilder Pro] Памятка по разработке для панелей Weintek
ФедосеевПавел 26.08.2026
Памятка по разработке для панелей Weintek ВВЕДЕНИЕ Ранее, при реализации проектов основное внимание уделял разработке управляющей программы для контроллера, а панели оператора доставалось время. . .
Модель по догадкам
anaschu 25.08.2026
Прошло две недели. Я уже рассказывал, как разговаривал с сотрудниками у сортировки и как понял, что главная ветка — не про приёмку, а про отбор. Но тогда я думал, что понял механику. На этой неделе я. . .
Запись в регистр сведений независимо от заполненности табличной части
Maks 25.08.2026
Реализация из решения ниже выполнена на нетиповом документе с несколькими табличными частями, разработанного в КА2. Задача: Обеспечить запись документа в регистр сведений независимо от. . .
Ноутбук Альфария
kumehtar 24.08.2026
Встретился тут в сети ноутбук Альфария, примарха Альфа-Легиона. Хотя возможно, это ноутбук Омегона, разумеется. Ну как вам?
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru