Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > C# (си шарп)
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 11.01.2016, 23:44   #1
kitapuz
 
Регистрация: 11.01.2016
Сообщений: 3
Восклицание Авторизация и Роли. C# & MySQL

Доброго время суток. Я столкнулся с проблемой авторизации и распределением ролей. Итак список пользователей находиться в базе MySQL
Я создал две формы.

login_form.cs
new_window.cs

Моя задаче при авторизации login_form.cs открывалась new_window.cs
Это я решил вот так:

Код:
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 MySql.Data.MySqlClient;


namespace sessions
{
    public partial class login_form : Form
    {
        public login_form()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {

        }

        private void button1_Click(object sender, EventArgs e)
        {
            try
            {
                string myConnection = " datasource = localhost; port=3306;username=databaseusername; password=databasepassword";
                MySqlConnection myConn = new MySqlConnection(myConnection);
                MySqlCommand SelectCommand = new MySqlCommand("select * from databasename.userstable where login_user='"
                            + this.uname.Text + "' and password='" + this.passw.Text + "';", myConn);
                MySqlDataReader myReader;
                myConn.Open();
                myReader = SelectCommand.ExecuteReader();
              
              
                int count = 0;
                while (myReader.Read())
                {
                    count = count + 1;
                   

                }
                if (count == 1)
                {
                    
                    new_window nw = new new_window();
                  
                   nw.Show(); 
                }
                  
                else
                    MessageBox.Show("IN CORRECT");
            }
            catch(Exception ex) 
            {
                MessageBox.Show("Sorry! ");
                //MessageBox.Show(ex.Message);
            }
        }
    }
}
Но теперь нужно чтобы в форме авторизации( login_form.cs) из таблицы вытащить уровень пользователя и передать в рабочую форму( new_window.cs) для последующей обработки. Вытащить из базы уровни пользователей я смог вот так
Код:
string leevel = myReader.GetString("level");
string names = myReader.GetString("nsf");
Но передать в рабочую таблицу ( new_window.cs) увы не смог. В РНР это дело легко решается при помощи сессий. Пожалуйста помогите примером. Исходники во вложениях
Вложения
Тип файла: zip sessions.zip (60.5 Кб, 43 просмотров)

Последний раз редактировалось Stilet; 12.01.2016 в 09:16.
kitapuz вне форума Ответить с цитированием
Старый 11.01.2016, 23:48   #2
kitapuz
 
Регистрация: 11.01.2016
Сообщений: 3
По умолчанию

Извините я по ошибке запостил не в теме помощь студентам. Если не трудно модераторам переместите это туда.
kitapuz вне форума Ответить с цитированием
Старый 12.01.2016, 00:41   #3
come-on
Участник клуба
 
Регистрация: 21.10.2015
Сообщений: 1,361
По умолчанию

тут вообще всё сессия .
но это не важно
что такое рабочая таблица?
come-on вне форума Ответить с цитированием
Старый 12.01.2016, 01:48   #4
kitapuz
 
Регистрация: 11.01.2016
Сообщений: 3
По умолчанию

Ошибочка хотел написать рабочая Форма. Эта вторая форма new_window.cs Мне это нужно потому что во второй форме я хочу извлекать из базы ( тоже MySQL) данные продуктов. Но только те которые соответствуют уровню пользователя. Например вот так:
Код:
 string Query = "select * from  databasename.tablename where level = Вытащенная во время авторизации level пользователя и переданная на эту форму ";
kitapuz вне форума Ответить с цитированием
Старый 14.01.2016, 15:47   #5
phomm
personality
Старожил
 
Аватар для phomm
 
Регистрация: 28.04.2009
Сообщений: 2,882
По умолчанию

Самое простое - объявить в классе той формы поля или свойства, например,
Код:
public string mylevel;
при созаднии формы
Код:
if (count == 1)
{
    new_window nw = new new_window();
    nw.mylevel = level; // тут level уже должна быть инициализирована
    nw.Show(); 
}
Есть и другие способы, например, через конструктор, или иное - гуглится "обмен данными между формами C#"
phomm вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Авторизация из БД MySql Diana528 Базы данных (ADO.NET, LinqToSql, ORM Entity Framework, NHibernate) 7 04.12.2014 18:55
Авторизация MySQL Rockot БД в Delphi 3 06.08.2014 19:15
Авторизация php+mysql kuba1981 PHP 9 02.09.2012 22:15
Cookie & HttpWebRequest & авторизация Geniy00 Общие вопросы .NET 0 29.11.2009 21:03
Авторизация & сессии Linel PHP 7 15.07.2009 15:01