Все технические форумы на одном сайте Удобный поиск информации с популярных форумов в одном месте
Вопрос: Какую базу данных выбрать?

Здравствуйте !

Мне нужно сделать приложение, довольно простое, все данные должны быть на компьютере пользователя. Т.е. при первом приближении это sqlite или ms sql server compact/express. Я довольно хорошо знаю ms sql и хотелось бы использовать именно его. Но совершенно не имею представления о том, как его поставить на компьютер пользователя вместе с моим приложение на c#. Нужна именно база данных, там будет данных довольно много (сотни тысяч) и выборка с кучей условий, переносить все это просто на клиента будет странно. Если я правильно понимаю, то sqlite не умеет процедур в принципе и в нем как раз сложные выборки и агрегирование, вычисление, как раз на клиенте делаются, не в самой базе. Да?
c# только начала изучать и какая база ему ближе и правильней не понимаю. Это первый вопрос.

Пользователи у меня еще желают, чтобы это приложение так же работало на мак. Что стоит выбрать как общую базу? MySql? Постгресс? Извиняюсь, если не совсем в правильную тему, но у меня как раз идея сделать все на с# что под win, что под mac.
Буду очень признательна любому, кто направит на верный путь !
Ответ: ElenaTomsk, SQLite - встраиваемая, а не локальная.
Вопрос: Спроектировать базу данных для приложения "заметки"

Ребята,помогите пожалуйста,нужно создать приложение "заметки".
Нужно спроектировать базу данных,в которой пользователи могут создавать,сохранять,удалять заметки.
(на скрине спроектирована бд,в которой две таблицы Users и Zametki)
Ответ: Написать код это одно. Создать работающее приложение несколько другое. Современные инструменты позволяют создавать приложения с минимальным написанием кода, используя конструкторы для многих видов задачь. Прежде всего нужно определиться, какое приложение вы хотите создать, для чего. Определить цели и задачи, требования, предъявляемые к коду и или приложению. Коммерческий это проект или учебный. Какой инструмент будете использовать для создания приложения. Какую базу данных, какого типа сервер использовать.
Вопрос: Какую базу данных возможно использовать в проекте Windows Forms?

В проекте будет много маленьких текстов, которые по щелчку сменяются на форме. Реализовать их хранение в текстовом файле не очень удобно - лучше база данных. Скажите, какая лучше с учётом того, что конечный результат - приложение-exe.
Localdb поддерживает хранение текстов?
Спасибо.
Ответ: ToBeOrNotToBe, алгоритм примерно такой. Сдвигаем позицию назад, читаем байт и проверяем что это \n. Если нет, то продолжаем двигаться назад. Если да, то запоминаем текущую позицию и читаем строку до конца. Если это наш разделитель, то после него идет блок текста. Таким образом можно сдвинуться на произвольное кол-во блоков назад.

Если добавить нумерацию прочитанных частей (int CurrentPart;) в программе, то можно сделать проще. Перематывать файл в начало и читать до нахождения блока CurrentPart-1.
Вопрос: MMO RPG и база данных

Здравствуйте!

Не по теме:

Заранее прошу прощения, если тема не в том разделе, но так и не смог определиться, где ее лучше создать


Пытаемся написать карточную mmo rpg и возникло много вопросов касательно базы данных сервера... В частности как представлять в ней данные игроков (как хранить их логины и пароли и прочие аттрибуты), в качестве бд была выбрана PostgreSQL.
Естественно, идеи есть, как все это сделать, просто хотелось бы изначально разработать более менее правильную структуру базы данных, чтобы в будущем не пришлось переписывать с нуля обработчики БД, да, и ее таблицы тоже.
Есть ли какие-то источники, где бы затрагивалась эта тема? (Нашел несколько статей, но там в основном рассматривают написание самого сервера, а базу данных почти не затрагивают, понятно, что у каждой игры будет своя структура, но будут и общие моменты)

P.S. Нормальные формы перечислять не надо, вопрос не в принципах организации бд вообще, а конкретно для сервера mmo rpg
Ответ: я когда столкнулся с таким вопросом:- посмотрел как этим занимаются профессионалы... есть сайт там выкладывают готовые сборки с базами данных MOORPG World of Warcraft всё в свободном доступе можно скачать от туда базу и глянуть её структуру
Вопрос: Вставка в базу данных

У меня есть сервер TCP на Qt. И мне нужно следущее: У меня есть база данных на Qt в которой есть 2 столбца id и второй ссылка на файл. Так вот когда на сервер пришли новые данные я их записал в файл и мне нужно сразу же сохранить новый id и ссылку на файл в SQLite и в модели представления на виджете должна добавиться новая строка, которая содержит опять же id и ссылку на новый файл,который только поступил на сервер и так с каждым поступлением нового файла на сервер в моделе представления базы данных должны отображаться новые строки. Как такое реализовать?? Чтобы создать новую строку, для только что поступивших данных в базе данных нужно использовать INSERT или CREATE TABLE и уже потом INSERT для вставки новых данных??
Ответ:
Сообщение от yura91
А есть какой то стандартный функционал для настроек в Qt. Ну допустим пользователь открывает окно настроек выбирает, устанавливает чекбоксы и тп а значения этих выбранных элементов куда будут сохранятся?? Есть ли смысл писать значения этих настроечных элементов в базу данных или есть уже стандартный функционал для этого??
Код C++ (QT)
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
void ComonMainWnd::setupGui(){
    ....
    QSettings set("mySoft", "SoftName");
    m_tbFile->setVisible(set.value("tbFile_visible",true).toBool());
    m_tbEditSimple->setVisible(set.value("tbEditSimple_visible",true).toBool());
    m_tbEditFont->setVisible(set.value("tbEditFont_visible",true).toBool());
    m_tbEditTable->setVisible(set.value("tbEditTable_visible",true).toBool());
    m_tbEditLists->setVisible(set.value("tbEditLists_visible",true).toBool());
    m_tbSearch->setVisible(set.value("tbSearch_visible",true).toBool());
}
 
void ComonMainWnd::closeEvent(QCloseEvent *event)
{
    QSettings set("mySoft", "SoftName");
    set.setValue("tbFile_visible",m_tbFileTVAct->isChecked());
    set.setValue("tbEditSimple_visible",m_tbEditSimpleTVAct->isChecked());
    set.setValue("tbEditFont_visible",m_tbEditFontTVAct->isChecked());
    set.setValue("tbEditTable_visible",m_tbEditTableTVAct->isChecked());
    set.setValue("tbEditLists_visible",m_tbEditListsTVAct->isChecked());
    set.setValue("tbSearch_visible",m_tbSearchTVAct->isChecked());    
}
 
// где:
    QToolBar *m_tbFile;
    QToolBar *m_tbEditSimple;
    QToolBar *m_tbEditFont;
    QToolBar *m_tbEditTable;
    QToolBar *m_tbEditLists;
    QToolBar *m_tbSearch;
    QAction *m_tbFileTVAct, *m_tbEditSimpleTVAct, *m_tbEditFontTVAct, *m_tbEditTableTVAct, *m_tbEditListsTVAct, *m_tbSearchTVAct;
Вопрос: Как создать новую базу данных SQL Server?

В книге Троелсена написано щёлкнуть правой кнопкой мыши по "подключение к данным" и выбрать "создать новую базу данных SQL Server". Я жму "добавить SQL Server", а у меня открывается "соединение с сервером", но создания нет. Я даже выкачал из сети Microsoft SQL Server 2012, а там ничего не изменилось.
Ответ:
Сообщение от Psilon
Базу проще создать в SSMS, а потом к ней просто подключаться.
Я Пытался установить 2014 версию Sql Server и Management Studio, но у меня он, хотя и установился без проблем на windows 10, все же не открывается. пишет что где то какая о связь с чем то не установлена вероятно, речь идет о локальной базе данных. ВЫ не могли бы описать точно как установить на windows 10 SSMS 2014?
Вопрос: Добавление записи в базу данных через Edit

Здравствуйте есть база данных на c++ builder которая соединена с Interbase .DB grid подключил к базе данных , все сработало . Но сейчас хочу узнать как можно добавить записи в базу данных через Edit и кнопку сохранить , чтоб все это чудо сохранялось .Может дать кто пример или рассказать как можно все это сделать . какие компоненты использовать ?
Ответ: orakul77, ты бы, чем плакаться, более полные данные сообщил: хотя бы одно то, на основании чего ты формируешь набор данных, которые отображаешь в DBGrid - на основе таблицы или запроса? Это два совершенно разных подхода к операции добавления данных; откуда я , к примеру, знаю, что и как у тебя в программе, чтобы что-то посоветовать? Покажу пример про таблицу, а ты заорешь, что у тебя запрос или наоборот... А лично мне вот оно надо - твой негатив читать?
Сообщение от orakul77
есть база данных на c++ builder которая соединена с Interbase
Вот есть база данных, созданная в СУБД Interbase и есть клиентская программа на C++ Builder. Так вот оно как-то правильней будет. А какой, кстати, С++ Builder?
Вопрос: Включать или нет базу данных в проект?

Здравствуйте! В первой форме была подключена база данных, я ее включила в проект. В проекте получилось три базы данных: в основной папке и в Debag и Release. Во второй форме запрос к базе данных. Не могу понять к какой базе мне теперь делать подключение...
Проблема в том, что база создана, к ней делаю приложение, для того чтобы запустить приложение на другом компьютере, я не нашла лучшего решения, чем включить базу в проект, тогда хоть в папке релиз можно открыть, иначе пути к базе данных в приложении теряются, т. к. они настроены на другом компе, вот что делать с этими теряющимися путями, если не включать базу в проект?
Ответ:
Сообщение от Green01
а в классе ведь тоже путь указывать надо?
насчет путей точно не знаю, но помоему можно как-то вместо полного "C:/что-то/что-то/что-то/база данных" указать типа "/папка/база данных"
Сообщение от Green01
если создать класс, тогда можно переносить всё решение с бд на другой пк?
конечно можно только переносить вместе с бд
Вопрос: Спамер добавляет объявление в мою базу данных

Всем привет!
У меня вот такая проблема, есть пхп страница с формой для добавления объявления на сайт она защищена каптчей
года 3 все было ок, но вот пару дней какой-то гнилой-упырь
видать ломанул каптчу и терь спамит мне в базу данных объявления

у меня логика скрипта такая, есть форма добавления объявления (ad.php)
человек форму заполняет (там все проверки на java script на предмет ввода запрещенных данных)
да и много полей которые не заполнить с клавиатуры там выпадающий список <select>

значит человек заполняет поля + вводит каптчу и добавляет объявление.....
далее эти данные поступают скрипту обработчику ad_sol.php



там уже идет добавление данных в базу, но тут начинается самое интересное
из того что я понял этот скотина-спамер минует саму форму ad.php
а киким-то образом шлет данные напрямую в обработчик ad_sol.php
и при этом правильно заполняет каптчу.



в итоге у меня на сайте публикуются его объявления, вопрос к спецам как мне сделать проверку в файле ad_sol.php
если данные от этого злодея приходят пустые в некоторые поля бд.

Хотелось бы сделать проверку перед добавление данных в бд, если определенные поля пустые то не добавлять объявление в бд


вот мой sql запрос


SQL
1
2
3
$query = "INSERT INTO `ads` (`mark`,`model`,`city`,`year`,`cost`,`run`,`motor`,`drive`,`tm`,`desc`);
VALUES ('$mark','$model','$city',".strip_tags($_POST['year']).",".strip_tags($_POST['cost']).",".strip_tags($_POST['run']).",'".strip_tags($_POST['motor'])."','".strip_tags($_POST['drive'])."','".strip_tags($_POST['tm'])."','".strip_tags($_POST['desc']).")";
dbToQuery($query);

так вот если человек будет добавлять объявление через форму (ad.php)
то в полях (mark, model, city, year, drive`,`tm`) полюбому будет текстовая запись вида


бмв
312
Москва
1999
передний привод
автомат коробка

_____________________

по той причине что если человек заполняет форму, как бы он не хотел он не может туда вписать другие данные или оставить эти поля не заполненные, так как заполнение в форме идет
через выпадающий список
но спамеру интересно только одно поле (desc) туда эта скотина льет всякия спам включая урл.

Так вот дорогие форумчане как мне фильтровать на предмет если передается пустая информация в поле скажем (mark), вернее в моем случае ничего не предается, а должно передаватся
марка авто, в любом случае если ничего не передается значит спам тогда, иными словами как сделать чтобы если пришли данные от спамера в ad_sol.php и поле (mark) пустота вместо цифробуквенного значения, то данные в бд не добавлялись
подскажите какую функцию мне лучше применить чтобы шла запись в поле только если есть данные, если нет то и запись не прошла в бд?
Ответ: Kerry_Jr
Если возможно подскажите как мне сделать проверку в самом файле обработчике (ad_sol.php), тот который уже передает данные из формы подачи объявления

Как именно сделать чтобы проверялись поля на пустоту и если приходят данные из формы (ad.php)
и для поля к примеру mark нет данных (пустота), то добавление в бд не должно происходить
...

Добавлено через 6 минут
вот нашел что эта функция проверяет переменную на пустоту empty()
как ее применить в моем примере?

Добавлено через 29 минут
нужно нечто такое, только этот код не работает

$n = 5;
if (!$mark or count($mark) <= $n) {
}

т.е. если поле mark пустое то добавление не происходит, если поле не бустое больше 5 символов то добавление происходит в базу данных, поправте меня пожалуйста в скрипте!

Добавлено через 25 минут
вот такое код срабатывает если поле пустое

PHP
1
if(empty($_POST['desc'])) echo 'Поле пустое';

но как мне сделать чтобы если поле пустое сразу шел разрыв с базой данных, либо шел редирект на форму добавления объявления ad.php

Добавлено через 50 минут
решил сам задачу!
Вопрос: Как закинуть в базу данных MySQL архив фотографий?

Нужно, чтобы на сайте можно было выбрать архив с фотографиями и чтобы они сохранились все в базу данных
Ответ:
Обойти каждый файл и добавить в базу данных.

scandir, pathinfo, foreach, mysqli_* вам в помощь.