Форум программистов, компьютерный форум, киберфорум
C#: Базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.96/25: Рейтинг темы: голосов - 25, средняя оценка - 4.96
19 / 19 / 16
Регистрация: 13.10.2013
Сообщений: 205
MS SQL

Своя БД для каждого user-a

08.07.2016, 12:13. Показов 5222. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем привет, задумался таким вопросом над проектом по базам данных (многопользовательское приложение).
Необходимо для каждого отдельного пользователя иметь свою базу данных т.е. зашёл пользователь под своим логином и паролем, они будут храниться в *.txt в зашифрованном виде, и ему вышла его таблица из общей базы данных.
Пример: БД auth - > логин1
БД auth -> логин2 и т.д.
Как это организовать ? Возможность дальнейшего добавления пользователя и его личной таблицы в БД.

Добавлено через 52 минуты
Как я понял, нужно создавать таблицу в БД программным путём. Здесь нашел как ссылка. Но как создать без файла *.mdf сразу передать параметры имени столбцов и всё, без доп. файлов. Чистую таблицу с заданными столбцами.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
08.07.2016, 12:13
Ответы с готовыми решениями:

Напоминалка - для каждого пользователя своя!
Доброй ночи! Как сделать, чтобы у каждого пользователя открывалась своя информация напоминалки? На форуме поглядел, они вроде как для...

Для каждого пользователя своя панель управления
Здравствуйте! Стоит задача для каждой группы пользователей, убрать определенные пункты меню панели управления! Как это можно...

Парсинг ссылки, для каждого ip своя ссылка php
Нужно спарсить эту страницу - http://videoapi.my.mail.ru/videos/mail/dima_sacr4/_myvideo/949.json И посмотреть на ссылку на видео, она...

8
Администратор
Эксперт .NET
 Аватар для OwenGlendower
18263 / 14188 / 5366
Регистрация: 17.03.2014
Сообщений: 28,874
Записей в блоге: 1
08.07.2016, 13:25
Joker456, с помощью запроса CREATE TABLE. Прежде чем это делать, подумай действительно ли тебе нужны отдельные таблицы для отдельных пользователей. Скорее всего проще будет хранить все данные в одной таблице. Зачем ты хочешь так поступить? Сколько пользователей планируется в системе? Какой объем данных?
0
19 / 19 / 16
Регистрация: 13.10.2013
Сообщений: 205
08.07.2016, 15:07  [ТС]
Пользователи в отдельном файле в зашифрованном виде от 1 до n.
Пользователь входит под свои логином и паролем и для него создаётся своя таблица, если пользователь ранее заходил то не создавать заново таблицу.
Вопрос: как создать таблицу с заданными на скрине полями (изначально пустую конечно) ?

Пример кода:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
SqlConnection myConn = new SqlConnection ("Data Source=ip, 1433\\SQLEXPRESS; Initial Catalog = название БД; Persist Security Info = True; User ID = Логин; Password = Пароль");
 
    String str = "CREATE TABLE dbo."+ tbLogin.Text +" (userID int PRIMARY KEY CLUSTERED, nameTovar varchar[MAX], kol int, coin money, sum money, kategori nvarchar[250])";
 
    SqlCommand myCommand = new SqlCommand(str, myConn);
    try
    {
        myConn.Open();
        myCommand.ExecuteNonQuery();
        MessageBox.Show("Ваша база данных успешно создана!", "Система учета физических лиц", MessageBoxButtons.OK, MessageBoxIcon.Information);
    }
    catch (System.Exception ex)
    {
        MessageBox.Show(ex.ToString(), "Система учета физических лиц", MessageBoxButtons.OK, MessageBoxIcon.Information);
    }
    finally
    {
        if (myConn.State == ConnectionState.Open)
        {
            myConn.Close();
        }
    }
Протестировал данный код, вылетает ошибка скрин ниже (
Миниатюры
Своя БД для каждого user-a   Своя БД для каждого user-a  
0
Эксперт .NET
 Аватар для insite2012
5548 / 4311 / 1218
Регистрация: 12.10.2013
Сообщений: 12,371
Записей в блоге: 2
08.07.2016, 15:25
Цитата Сообщение от Joker456 Посмотреть сообщение
для него создаётся своя таблица
Согласен с коллегой (OwenGlendower), не вижу смысла в отдельной таблице для каждого пользователя.
Но дело ваше.
0
Администратор
Эксперт .NET
 Аватар для OwenGlendower
18263 / 14188 / 5366
Регистрация: 17.03.2014
Сообщений: 28,874
Записей в блоге: 1
08.07.2016, 15:33
Цитата Сообщение от Joker456 Посмотреть сообщение
Протестировал данный код, вылетает ошибка скрин ниже (
Размерность колонок нужно указывать в круглых скобках.
C#
1
String str = "CREATE TABLE dbo.[" + tbLogin.Text + "] (userID int PRIMARY KEY CLUSTERED, nameTovar varchar(MAX), kol int, coin money, sum money, kategori nvarchar(250))";
Цитата Сообщение от Joker456 Посмотреть сообщение
Пользователи в отдельном файле в зашифрованном виде от 1 до n.
Вместо повторения уже известной информации, лучше бы ты ответил на мои вопросы.
0
785 / 616 / 273
Регистрация: 04.08.2015
Сообщений: 1,713
08.07.2016, 16:30
Цитата Сообщение от Joker456 Посмотреть сообщение
CREATE TABLE dbo."+ tbLogin.Text +" (userID int
А зачем вам userID, если в таблице только один пользователь? Но доверьтесь своему коду и пишите всё в одну таблицу
0
19 / 19 / 16
Регистрация: 13.10.2013
Сообщений: 205
08.07.2016, 20:46  [ТС]
OwenGlendower, не подскажете алгоритм хранения в одной таблице и чем лучше ?

Добавлено через 10 минут
...Думаю было бы не плохо через одну таблицу, легче было выводить в datagridview и сортировать, удалять и добавлять )
Последнее время больше через подключение БД к элементам формы создаю и оперирую.
0
 Аватар для pincet
1654 / 1153 / 173
Регистрация: 23.07.2010
Сообщений: 6,910
10.07.2016, 12:33
лучше всего сесть и разработать годную схему данных.
А ежели "уж замуж невтерпёж" - добавь поле idUser.
0
Администратор
Эксперт .NET
 Аватар для OwenGlendower
18263 / 14188 / 5366
Регистрация: 17.03.2014
Сообщений: 28,874
Записей в блоге: 1
10.07.2016, 13:35
Joker456, чтобы давать конкретные советы необходимо знать для чего создается база данных, что там планируется хранить и какие виды запросов будут выполняться. Тогда можно будет предложить схему для неё. Без этого я могу давать только общие советы. В реляцинной базе данных таблицы создаются для хранения информации об отдельных одниковых сущностях. Например, если у нас есть товары, покупатели и товары которые которые купили конкретные покупатели, то мы можем создать три таблицы. В каждой таблице мы выберем первичнвый ключ для идентификации конкретной сущности - строка в таблице. Зависимые таблицы свяжем с помощью внешних ключей чтобы СУБД следила за целостностью данных.

Подход с едиными таблицами лучше тем что это упрощает код и позволяет использовать любые средства для работы с ней, вколючая ORM. Если создавать отдельные таблицы, то ORM будет труднее применять. Кроме того из соображений безопасности админы стараются давать пользователям минимум прав. Создание объектов в БД в число таких минимальных привилегий обычно не входит т.к. является прерогативой администраторов и программистов.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
10.07.2016, 13:35
Помогаю со студенческими работами здесь

Для каждого разрешения экрана своя страница. Возможно?
Здравствуйте! Возможно ли реализовать такое, что браузер будет отправлять посетителя на нужную страницу с подходящим разрешением ? ...

Работа с несколькими буферами обмена, для каждого - своя комбинация клавиш
Ищу программу для работы с буфером обмена. Требуется поддержка нескольких буферов, на каждый из которых будет своя комбинация клавиш. ...

Как сделать чтобы у каждого поста выводилась своя картинка?
Я новичок в Wordpress, поэтому просьба сильно не пинать:) В Wordpress (тема Simple Travel) присутствует такой раздел как Banners (очень...

Как cделать в форме , чтобы на каждого сотрудника отображалась своя фотография?
(я просто новичок в этом деле) :wall: 2) Как cделать в форме , чтобы на каждого сотрудника отображалась своя фотография? Буду очень...

Может ли быть два виджета в одном проекте где у каждого будет своя активити настроек?
Попытался так сделать, все везде написал и в provider и в manifest, но все равно при добавлении второго виджета вылетает активити первого...


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru