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

Собираюсь написать свой справочник ГОСТовского металлопроката. И вот возник вопрос, где хранить табличные данные. Прописать массивы прямо в листинге , или лучше считывать из файла при каждом запуске программы? Будет порядка 20-30 таблиц. GUI писать планирую в QT.
Ответ: Лучше в БД (хотя зависит от цели программы), но если использование БД не планируется, то лучше в файле.
Плюс хранения данных на внешнем носителе (читай файле) в том, что ты можешь добавлять/удалять/редактировать данные без перекомпиляции программы.
Вопрос: Как и где хранить данные подключения к БД

Собственно сабж. Как и где Вы хранить данные подключения к DB. Используете вы какие нить средства шифрования и т.п.
Ответ: "Appconfig" - значение в области приложения, безопасно?
Хочу написать приложение, API лень писать, многопользовательское ПО которое читает- редактировать БД. Безопасно ли хранить данные подключения к БД в "Appconfig"
Вопрос: Как хранить данные в таблице «заказ?

Здравствуйте! Подскажите пожалуйста.
Есть база, в ней таблицы Заказ, замки, накладки.
В таблицах замки и накладки хранятся id, наименование и цена.
В таблице Заказ хранятся заказы, я думаю это понятно. Столбцы в нем такие: Номер заказа, Замок, Накладка.
Вопрос: Как хранить данные в таблице заказ? Хранить id Замков и id накладок или же наименования замков и накладок?
Использую Sql Express, в будущем предполагаю, что будет очень много заказов и база заполнится, т.к. вроде SQL Express база ограничена а размере. И предполагаю чистить базу периодически, при этом экспортировать в Excel. Но если в базе буду хранить id замков и накладок, то при экспорте у меня будут цифры а не наименования.
Ответ:
Сообщение от MaksimkaI
Вот еще один момент, почему мне не нравится хранить id
Это от недостатка опыта. Id отлично работают.

Сообщение от MaksimkaI
Не понятно, что за Id используется, со временем забывается что делал.
Пользователь не должен видеть Id. Это служебная информация. Выводить нужно текстовую информацию. Изучи как использовать JOIN.

Сообщение от MaksimkaI
Ну я только пример привел, что у меня 3 столбца, на самом деле столбцов будет штук 30-40
Советую не торопиться с программированием БД и сначала проконсультироваться на форуме. Есть риск что ты спроектируешь плохую структуру базы и это будет повторение текущего решения с Excel.
Вопрос: В каком виде хранить данные сайта?

Доброго времени суток! Почитал я и другие темы в "Найдены похожие темы:" но ответа на похожие вопросы я так и не нашел.
Не могу определится, где хранить данные сайта? Планируются новости, картинки, файлы, комментарии и т.д. Смотрел в сторону XML но кажется что это не то т.к. говорят используют его в основном в качестве конфигов\настроек и т.д. JSON можно но особой разницы в первых впечатлениях с XML не увидел кроме простоты. MySQL как вариант для хранения подобных данных но сомнения вызывают по отношению с переносом файлов базы данных например, если переезжать на другой хостинг.
Изначально вообще хотел в файлах все это хранить но говорят что со временем с файлами по мере возрастания данных было бы тяжелее с ними работать.
Помогите сделать правильный выбор.
Ответ:
Сообщение от Jodah
Новости, комментарии и т.п. в БД. Файлы в папках, а в БД хранить относительный доступ к ним, например полный путь /media/images/products/001.jpg, в а БД хранить 'products/001.jpg', а остальной путь - константа, которая прописана в конфиге. Тогда при миграции нужно будет только пути в конфиге поменять.
Как не странно но вы мне очень помогли с решением. Спасибо.
Вопрос: Где лучше хранить данные для разных потоков

И снова здравствуйте ))

Подскажите плиз, где можно хранить данные, которые используются разными потоками ? С браузера приходит ajax запрос, нужно считать данные, которые на сервере записал куда то веб сокет клиент к другому серваку. Application не подходит, т.к. веб сокеты фигачатся в отдельном потоке, там вообще нет HttpContext'а.
Ответ: Нет, я БД нет этих полей. Я думаю все можно хранить в статических полях.
Вопрос: Где хранить данные абстрактно

Такая ситуация, загружаю данные из ini файла и далее запихиваю tabelwidget. А хотелось бы сохранять в qList ну или что то подобное. Хранить данные нужно разного типа(QString,QByteArray,qint8) абстрактно.
Подскажите пожалуйста можно ли реализовать это в QList. Заранее благодарен.
Ответ: Хрень какая. Я про то, что сказали. Но ладно. Используй абстрактынй класс тогда. Примерно так.
Код 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
class IData
{
public:
    IData() {}
    virtual ~IData() {}
 
    // через этот метод у дочерних классов данные к стринговому виду приводи и в QTableView пихай 
    virtual QString toString() const = 0;
};
 
class ByteArrayData : public IData
{
public:
    ByteArrayData(const QByteArray &value);
    // IData interface
public:
    QString toString() const;
};
 
class IntData : public IData
{
public:
    IntData(const int &value);
    // IData interface
public:
    QString toString() const;
};
 
QList<QList<IData*> > data;
Вопрос: Как обновить данные таблицы БД из массива?

Добрый день. Столкнулся с проблемой, не понимаю как обновить данные таблицы БД из массива.
Массив уже создан и имеет в себе записи.
Вывод массива на экран:
PHP
1
2
3
4
5
6
7
8
9
10
foreach ($naim_tovara as $value)
{
echo $value,"<br>";
}
        
foreach ($kolichestvo_tovara as $value1)
{   
echo $value1,"<br>";
}       
;
Результат вывода:

Электроды d2.0=80
Электроды d3.0=20
Структура таблицы в БД:

Суть проблемы такова: Нужно обновить поле Kolichestvo в таблице tovar, по наименованию товара (наименование товара находиться в таблице vid_tovara) таблицы vid_tovara и tovar связаны по Kod_Vida.
В результате должно получиться, Электроды d2.0=80 Электроды d3.0=20
Ответ: Спасибо вам, понял, что не нужно переполнять код переменными и массивами. По всем критериям я сделаю позже, нужно понять, как производить обновление таблицы, хотя бы по массиву который содержит код товара и количество, то-есть обновляемое поле, количество.
PHP
1
2
3
4
foreach($_POST['count']) as $value){
     $temp = explode('_', $value);
     $array[$temp[0]]['KOlishestvo'] = $temp[1];
}
Как обновить хотя бы то, что сейчас есть в массиве,
я не разу не сталкивался с таким обновлением. Если покажете, как произвести данную процедуру, то с остальным уже сам разберусь.
Вопрос: Как внести данные таблицы StingGrid в RichMemo?

Как внести данные таблицы StingGrid в RichMemo?
Чтобы можно было вносить как целые так и десятичные числа.
Чтобы в RichMemo это выглядело примерно так:

Вкусное:

бочка варенья:
2 шт

корзина печенья:
5 шт



Если строка заполнена не полностью или строка пуста данные из этих строк в RichMemo не должны вноситься.

Как это сделать? Подскажите пожалуйста.
Ответ: barsik123, не там запоминаешь число строк в RichMemo. Перенеси инициализацию J в 21-22 строки:
Pascal
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
procedure TForm1.Button1Click(Sender: TObject);
var
  i, j: integer;
  f: boolean;
begin
  f := True;
  with StringGrid1 do
  begin
    for i := FixedRows to Pred(RowCount) do
      if Length(Trim(Cells[1, i])) * Length(Trim(Cells[2, i])) <> 0 then
      begin
        //проверим выводилась строка или нет
        if f then
          //вот теперь можно и выводить
          //я уже раньше писал про begin....end. в учебнике об этом тоже написано.
        begin
          Form2.RichMemo1.Clear;
          Form2.RichMemo1.Lines.Add('тут обычный текст до грида');
          Form2.RichMemo1.Lines.Add('тут обычный текст до грида');
          Form2.RichMemo1.Lines.Add('тут обычный текст до грида');
          //запомним сколько было строк в memo
          j := Form2.RichMemo1.Lines.Count;
        end;
        // а теперь, чтобы больше не выводились строки
        f := False;
        Form2.RichMemo1.Lines.Add(Format('%s:  %s%s%s:  %s%s%s:  %s%s%s:  %s%s%s:  %s%s%s:  %s' +
          sLineBreak, [Cells[1, 0], Cells[1, i], sLineBreak, Cells[2, 0],
          Cells[2, i], sLineBreak, Cells[3, 0], Cells[3, i], sLineBreak,
          Cells[4, 0], Cells[4, i], sLineBreak, Cells[5, 0], Cells[5, i],
          sLineBreak, Cells[6, 0], Cells[6, i]]));
      end;
  end;
  //Лучше поместить вывод завершающих строк после цикла
  // c := Form2.RichMemo1.Lines.Count;
  if j < Form2.RichMemo1.Lines.Count then //если число строк увеличилось - значит
    //в таблице были значения и можно в мемо добавлять завершающие строки
  begin
    Form2.RichMemo1.Lines.Add('тут обычный текст после грида');
    Form2.RichMemo1.Lines.Add('тут обычный текст после грида');
    Form2.RichMemo1.Lines.Add('');
    Form2.RichMemo1.Lines.Add('');
  end;
  Form2.Show;
end;
, и все заведется. У тебя была проблема именно из-за очистки RichMemo. Запоминал число строк до очистки, потом добавлял меньше, чем запомнил, и всё, завершающие строки не пишутся...
Вопрос: Хранить данные в бд

Я новичок в php дали такое задание. Подскажите пожалуйста вообще с чего начать какой литературой, cайтами или видео уроками пользоваться. Может у кого есть ещё пример такого. Короче прошу помочь кто чем может) С бд я вообще не работал никогда.

1. Данные из второго задания хранить в таблице БД
(вот 2 задание Реализовать скрипт, реализующий ввод и проверку (валидацию) следующих данных:
1) Фамилия, имя — текстовое поле — только русские буквы, пробелы — обязательное поле
2) Возраст — строго целое положительное число
3) Адрес электронной почты (строго по шаблону bbbb...bb@bb...bb.bb, где b-латинские буквы) - обязательное поле
4) Пол — выбор из списка Мужской, Женский
5) «Я курю» - чекбокс (галочка) )
Его я выполнил.

2. На первой странице показывается таблица (html) с записями из БД
3. Есть кнопка "Добавить", которая показывает форму (2 зад.), ее заполнение, валидация и запись в БД.
4. В сводной таблице (пункт 2). У каждой записи есть кнопки управления (редактировать и удалить).
При нажатии на "редактировать" появляется та же форма (2 зад.) с заполненными данными, которые можно изменить и сохранить.
При нажатии на "удалить" удаляется запись из БД, либо ошибка что этого сделать невозможно.
5. Всё это нужно сделать максимально используя ООП.
Ответ: просьба закрыть тему
Вопрос: Как добавлять в друзья и вообще где хранить данные?

Дорогие форумчане, я решил на своем сайте реализовать что то типо социальной сети.
Встал вопрос о том как добавлять в друзья и вообще где хранить данные.
Что посоветуете, хоронить друзей в базе данных типо 1|2|23|13|43|245| и т.д. Цифра это номер аккаунта а | это чтобы понять что читаем другой аккаунт.
Или создать файл для каждого юзера и в нем записывать друзей по такому же принципу, у кого какие есть соображения.
И да по времени работы как это можно реализовать самым быстрым способом, чтобы цикл не грузил долго?
Я склоняюсь к тому чтобы реализовать с помощью файла, и его держать на другом сервере, прощу подсказать что будет более оптимально...
Ответ: Связь многие ко многим, упрощает вывод в список друзей да и сам подсчет количества