Форум программистов, компьютерный форум, киберфорум
Наши страницы
C#: Базы данных, ADO.NET
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.95/19: Рейтинг темы: голосов - 19, средняя оценка - 4.95
ulicenok
1 / 1 / 1
Регистрация: 22.01.2010
Сообщений: 13
1

Как написать оболочку для БД на SQL Server 2008 R2

31.05.2012, 12:35. Просмотров 3502. Ответов 2
Метки нет (Все метки)

Добрый день. Очень нужна помощь гуру. Нужно наваять оболочку для работы с БД на SQL Server 2008 R2. Это нечто должно быть с множеством форм, при чем для каждой роли сервера свой набор. Подтолкните в нужном направлении по поводу организации общения форм между собой. Пока начала с формы входа, куда вводятся логин и пароль. Потом данные проверяются и при успешном входе должна открыться следующая форма, где надо выбрать, че делать дальше. На шарпе пишу впервые, потому сильно не бейте))) Как после успешной авторизации можно вытащить с сервера роль и прервать ее в Main()?

Program.cs:
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
using System;
using System.Collections.Generic;
using System.Linq;
using System.Windows.Forms;
using System.Data.SqlClient;
 
namespace VIGroup
{
    static class LogData
            {
              public static string LogName;
              public static string Pass;
              public static int j;
              static LogData()
              {
                  LogName = "";
                  Pass = "";
                  j = 1;
              }
            }
    
 
    public class Program
    {
        /// <summary>
        /// Главная точка входа для приложения.
        /// </summary>
        [STAThread]
        
        static void Main()
        {
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);
            Application.Run(new LogForm()); 
            while (LogData.LogName != "" && LogData.Pass != "")
            {
                try
                {
                    SqlConnection con = new SqlConnection("Data Source=ULIANA;Initial Catalog=VIGroupDB;User ID=" + LogData.LogName + ";Password=" + LogData.Pass + ";");
                    con.Open();
                    LogData.j++;
                    MessageBox.Show("Вход выполнен успешно!");
                    LogData.LogName = LogData.Pass = "";
                }
                catch
                {
                    MessageBox.Show("Неверные логин или пароль. Попробуйте снова");
                    LogData.LogName = LogData.Pass = "";
                    Application.Restart();
                }   
            }
 
            Form ChAct = new StartForm();
            ChAct.Show();
        }
    }
}
LogForm.cs (Форма входа):
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
namespace VIGroup
{
    public partial class LogForm : Form
    {
 
        public LogForm()
        {
            InitializeComponent();
 
        }
 
        public void Login_Click(object sender, EventArgs e)
        {
            LogData.LogName = this.UName.Text;
            LogData.Pass = this.Password.Text;
            this.Close();
        }
    }
}
StartForm пока пустой, мозгую, как ее видоизменять для работы пользователей разных ролей.

Добавлено через 20 часов 54 минуты
Ну же, где все гуру? Очень нужна помощь, спасите! Там очепятка - роль надо не прервать, а передать)))
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
31.05.2012, 12:35
Ответы с готовыми решениями:

Настройка SQL Server 2008 для работы с SQL Server Management Studio
Доброго времени суток. Подскажите пожалуйста, что нужно сделать для того, чтобы SQL Server...

Пользовательский интерфейс на C# для sql server 2008
Делаю пользовательский интерфейс для MS sql на C#. создал базу на MS sql server 2008, в C# зашёл в...

Как настроить SQL Server 2008 для удаленных подключений
Здравствуйте! Никак не могу разобратся, что нужно настроить в MS SQL server express 2008 R2, что бы...

Внедрение Windows server 2008+MS SQL Server 2008+1C:SQL
Приветствую Вас,Друзья по разуму!:handshake:Столкнулся с такой темой впервые!Очень прошу поделиться...

Чем отличается Microsoft® SQL Server® 2008 Express with Tools от Microsoft® SQL Server® 2008 Express with Adva
Друзья! Есть две СУБД, как я понимаю: Microsoft® SQL Server® 2008 Express with Tools ...

2
ksk
614 / 482 / 43
Регистрация: 05.07.2010
Сообщений: 1,589
03.06.2012, 09:20 2
Для впервые это отлично!

Фильтровать пользовательский интерфейс ролями - это тоже очень правильно. Тоже так делаю.

Чтобы узнать, принадлежит ли текущий пользователь к какой либо роли, нужно выполнить запрос
SQL
1
SELECT IS_MEMBER('rolename')
Если текущий пользователь принадлежит к роли, имя которой передано в этот запрос, вернётся 1. Иначе вернётся NULL.

То есть можно например составить маску разрешений, выселектив разрешение для каждой роли, и в соответствии с этим позволять пользователю те или иные формы.

То есть приложение "оболочка" должна знать, какие роли проверять.


По архитектуре приложения я бы предложил Application.Run делать не с формой диалога логина, а с главной формой, а например в обработчике события Shown главной формы показывать логин диалог в цикле.

Если не залогинился - тогда после диалога говорим пользователю кто он такой, и закрываем главную форму методом Close().

Если залогинился - тогда после диалога логина выселекчиваем роли, составляем маску прав и возвращаем управление.

Цикл диалога логина я обычно делаю бесконечным, а если юзер успешно залогинился или ему надоело подбирать пароль и он нажал отмену, тогда я выхожу из цикла с помощью оператора break;
1
ulicenok
1 / 1 / 1
Регистрация: 22.01.2010
Сообщений: 13
03.06.2012, 13:41  [ТС] 3
Большущееееее спасибо за ответ, поняла в какую сторону работать, а то уже прям отчаялась дождаться гуру
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.06.2012, 13:41

Можно использовать бд созданную в SQL server 2012 на SQL server 2008?
Можно использовать бд созданную в SQL server 2012 на SQL server 2008? если да,то как ее подключить?

Microsoft SQL server 2008 для Windows 7
Подскажите где можно скачать сабж совместимый с Windows 7.

Создание хранимых процедур для Ms Sql Server 2008 r2
Дайте ссылки на материал, или вкраце изложите как написать хранимые процедуры. Не могу понять с...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru