Форум программистов, компьютерный форум, киберфорум
C#: Базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.82/22: Рейтинг темы: голосов - 22, средняя оценка - 4.82
1 / 1 / 1
Регистрация: 22.01.2010
Сообщений: 13

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

31.05.2012, 12:35. Показов 4616. Ответов 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
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
31.05.2012, 12:35
Ответы с готовыми решениями:

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

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

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

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

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

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

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

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


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

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

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

Цикл диалога логина я обычно делаю бесконечным, а если юзер успешно залогинился или ему надоело подбирать пароль и он нажал отмену, тогда я выхожу из цикла с помощью оператора break;
1
1 / 1 / 1
Регистрация: 22.01.2010
Сообщений: 13
03.06.2012, 13:41  [ТС]
Большущееееее спасибо за ответ, поняла в какую сторону работать, а то уже прям отчаялась дождаться гуру
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
03.06.2012, 13:41
Помогаю со студенческими работами здесь

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

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

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

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

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


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru