мне стыдно
52 2022-08-15 01:56:38
Re: Календарь с привязкой (7 replies, posted in Russian)
Как писал выше indigen, просто добавь воды
точнее, добавь условие выборки по id_productsIDProduct := <Form>.<TableGrid>.dbItemID; s := SQLExecute('SELECT IFNULL(GROUP_CONCAT(DISTINCT DATE_FORMAT(`date`, "%e") ORDER BY `date` ASC), "") FROM tabledate WHERE MONTH(`date`) = '+sMonth+' AND YEAR(`date`)='+IntToStr(Year)+' AND id_product = '+sIDProduct );
procedureFormProduct_MonthCalendar_OnGetMonthBoldInfo (Sender: TObject; Month, Year: Cardinal; var MonthBoldInfo: Cardinal);
var
AStr: array of string;
AByte: Array of byte;
sMonth,sIDProduct, s: string;
i, c: integer;
begin
sMonth := IntToStr(Month);
sIDProduct := <FormProduct>.<TableGrid>.dbItemID;
s := SQLExecute('SELECT IFNULL(GROUP_CONCAT(DISTINCT DATE_FORMAT(`date`, "%e") ORDER BY `date` ASC), "") FROM tabledate WHERE MONTH(`date`) = '+sMonth+' AND YEAR(`date`)='+IntToStr(Year)+' AND id_product = '+sIDProduct ):
На вот этом моменте sIDProduct := <FormProduct>.<TableGrid>.dbItemID; выдает ошибку компиляции...
53 2022-08-14 10:33:33
Re: Календарь с привязкой (7 replies, posted in Russian)
Вечер всем. Дела такие: как бы я не пытался привязать календарик не выходит у меня ничего, даже не знаю где моя ошибка вроде все правильно делаю... При нажатии на продукт - в другой таблице отображаются те даты которые привязаны к конкретному продукту но в календаре идет подсветка ВСЕХ! дат почему то ?? Кто нибудь поможет разобраться?
54 2022-08-09 01:24:18
Re: Календарь с привязкой (7 replies, posted in Russian)
В запросе к базе не уточняется id_product. Добавь его в условия и должен получить то, что ищешь
Ну я так и знал что id нужен но как правильно его вклеить в скрипт ?
s := SQLExecute('SELECT IFNULL(GROUP_CONCAT(DISTINCT DATE_FORMAT(`date`) ORDER BY `date` ASC), "") FROM bsm_date WHERE MONTH(`date`) = '+sMonth+' AND YEAR(`date`)='+IntToStr(Year) + 'tabledate.id_product=tabledate.id_date');
? помогите кто нибудь
55 2022-08-07 13:17:18
Topic: Календарь с привязкой (7 replies, posted in Russian)
Доброго дня всем. Подскажите мне как сделать так чтоб в календаре числа показывали даты которые привязаны в таблице к другой таблице. Имеется таблица tabledate с датами и в ней две колонки 1- date; 2-id_product. Цель: отображение в календаре только тех дат! которые привязаны к id_product. Имеется вот такой скрипт, но он выбирает все даты в таблице
s := SQLExecute('SELECT IFNULL(GROUP_CONCAT(DISTINCT DATE_FORMAT(`date`, "%e") ORDER BY `date` ASC), "") FROM tabledate WHERE MONTH(`date`) = '+sMonth+' AND YEAR(`date`)='+IntToStr(Year));
Помогите решить головоломку, я уже третий день по клавиатуре стучу, никак не выходит
56 2021-10-17 10:40:27
Re: Заставка (23 replies, posted in Russian)
То есть заставку можно добавить и отображать её до подключения к БД MySQL, но после того, как в память загрузится EXE + DLL с картинками + создадутся ВСЕ формы приложения. То есть для начала нужно выяснить, что в вашем проекте происходит за эти 10-15 секунд:
Ну я так понимаю за эти 10-15сек идет просто подключение по сети к базам данных.... при успешном подключениии выпадает окно авторизациии пользователей
57 2021-10-17 10:36:28
Re: Заставка (23 replies, posted in Russian)
у меня Mysql просто на базе Navicat.
спасибо за подробное объяснение. Я думал что можно как то сделать после нажатия .exe быстрый запуск какой нибудь картинки чтоб дать пользователю понять что сейчас идет подключение к базам те самые 15-20 сек. Но я так понимаю из Вашего ответа это очень проблематично будет сделать..
Ну отключить автоматической подключение тоже сначала пользователи подключаться к базам ( априори они не должны знать пароли и логины) ну а потом как подключились еще и для каждой учетки пароль вводить - это на мой взгляд через чур ))
58 2021-10-17 10:34:04
Re: Заставка (23 replies, posted in Russian)
у меня Mysql просто на базе Navicat.
спасибо за подробное объяснение. Я думал что можно как то сделать после нажатия .exe быстрый запуск какой нибудь картинки чтоб дать пользователю понять что сейчас идет подключение к базам те самые 15-20 сек. Но я так понимаю из Вашего ответа это очень проблематично будет сделать..
59 2021-10-16 10:32:49
Re: Заставка (23 replies, posted in Russian)
Подскажите пожалуйста есть ли возможность сделать заставку вначале когда щелкаешь на exe. так как до момента подключения к базам данных примерно сек 10-15 - и эти 10-15 сек можно сделать так чтоб пользователь знал что при нажатии на ярлык запуска программы через 2-3 сек появлялось окно которое информирует о загрузке - когда происходит загрузка формы frmlogin окно приветствия загружается ?
60 2021-10-15 04:51:08
Re: Обновление проекта (программы) после внесения дополнений с сохранениех (8 replies, posted in Russian)
Обыкновенно делают резервную копию БД и работают над доработкой программы вместе с рабочей базой данных, а во время разработки необходимо приостанавливать возможность работы клиентов с базой данных.
Либо рабочий файл базы данных модифицировать вручную, чтобы его структура соотвествовала структуре новой версии проекта, это можно сделать например программой SQLite Studio.
Еще один вариант, это записать в базу данных номер ее версии, а в проекте написать скрипт, который будет обновлять структуру БД до необходимой версии, удаляя или добавляя таблицы и поля.
А как выглядит этот скрипт? Пример для MySQL
61 2021-10-10 11:34:59
Topic: TableGrid Search (1 replies, posted in Russian)
Возможен ли такой сценарий в MVDB?
При нажатии на таблицу осуществляем поиск через textbox ( его можно срыть )
dbgrid.datasource.dataset.locate ?
62 2021-10-05 13:41:03
Re: Запомнить последний введенный логин? (3 replies, posted in Russian)
Подскажите а как запомнить при входе Логин и пароль когда при этрм сам логин вводится в Text ? Тоесть на дее мы имеем 2 текстовых поля логина и пароля ставим галочку и при следующем запуске запоминаетcя
63 2021-10-05 11:51:48
Re: даты в календаре (NEW) (13 replies, posted in Russian)
Переделал немного проект для MySQL
А можно изменить цвет выделяемого цвета с черного например на красный ?
64 2021-09-20 13:08:40
Re: [Скрипт] Подключение к MySQL с помощью скрипта (22 replies, posted in FAQ)
Поправь пожалуйста если я где то ошибся:
procedure frmStart_OnShow (Sender: TObject; Action: string);
var ok: boolean;
begin
ok:=false;
{$MySQL disable_connectdialog}
frmStart.MySQLConnection.Server := '192.168.1.1';
frmStart.MySQLConnection.Port := 3306;
frmStart.MySQLConnection.Username := 'mvb';
frmStart.MySQLConnection.Password := '123';
frmStart.MySQLConnection.Database := 'base';
try
// попытка 1...
ok:=true;
frmStart.MySQLConnection.Connect;
except
end;
if not ok then
frmStart.MySQLConnection.Server := '192.168.0.1';
frmStart.MySQLConnection.Port := 3306;
frmStart.MySQLConnection.Username := 'mvb';
frmStart.MySQLConnection.Password := '123';
frmStart.MySQLConnection.Database := 'base';
ok:=true;
except
try
frmWait.Close;
ShowMessage('Проверте подключение к базе данных');
frmStart.Close;
end;
if frmStart.MySQLConnection.Connected then
begin
UpdateDatabase(''); // to fill ComboBoxes
// if you have TableGrid on first form with option
// "Enable auto execution", you should call method
// dbUpdate manually
end;
begin
sUserName := '"'+GetUserName+'"';
sComputerName := '"'+GetComputerName+'"'; ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
end;
65 2021-09-20 13:02:52
Re: [Скрипт] Подключение к MySQL с помощью скрипта (22 replies, posted in FAQ)
Вот так и вставляете в основной части скрипта
<---- вот тут ) до begin end; begin end.
самый верхний пост DriveSoft с примером и картинкой.
Ну у меня 2 ip адреса : 192.158.1.1 если на него не подключаемся то пробуем 192.168.1.0
66 2021-09-20 06:19:05
Re: [Скрипт] Подключение к MySQL с помощью скрипта (22 replies, posted in FAQ)
Кто нибудь помогите пожалуйста
67 2021-09-18 11:06:30
Re: [Скрипт] Подключение к MySQL с помощью скрипта (22 replies, posted in FAQ)
Спасибо за скрипт а подскажи в какой части моего скрипта вставить твой ?
procedure frmStart_OnShow (Sender: TObject; Action: string);
begin
{$MySQL disable_connectdialog}
frmStart.MySQLConnection.Server := '192.168.1.1';
frmStart.MySQLConnection.Port := 3306;
frmStart.MySQLConnection.Username := 'mvb';
frmStart.MySQLConnection.Password := '123';
frmStart.MySQLConnection.Database := 'newbase';
try
frmStart.MySQLConnection.Connect;
except
frmWait.Close;
ShowMessage('Проверте подключение к базе данных');
frmStart.Close;
end;
if frmStart.MySQLConnection.Connected then
begin
UpdateDatabase(''); // to fill ComboBoxes
// if you have TableGrid on first form with option
// "Enable auto execution", you should call method
// dbUpdate manually
end;
68 2021-09-18 10:59:54
Re: Label по условию? (5 replies, posted in Russian)
vovka3003 wrote:Возможно.
k245 wrote:Подтверждаю: возможно и даже более чем )))
senseyesenseye1983 wrote:Все разобрался
Ну молодцы ж мы..!))
Только вы зачем-то посчитали ноги а затем раздели на 4 и таким образом узнали количество голов в стаде.)
Достаточно было использовать OnChange нужного поля и в этом событии присваивать лейблу Caption.
Да супер )
69 2021-09-17 10:13:42
Topic: Присвоить id combobox (0 replies, posted in Russian)
Люди добрые как будет выглядеть скрипт:
При выборе combobox1 - выбираем нужную запись ( к этой записи присвоено id другой таблицы, нужно чтобы она автоматически подставиться в combobox2 который ниже)
Для combobox1 таблица в базе данyых называется Employees
Для combobox2 таьлица в базе данyых называется Price
Как сделать так чтоб при выборе из таблицы employees в combobox1 - подставлялось нужное значение из таблицы price в combobox2
Помогите пожалуйста!!!
70 2021-09-17 08:04:19
Re: [Скрипт] Подключение к MySQL с помощью скрипта (22 replies, posted in FAQ)
Подскажите как реализовать скриптом подключение к базе через 2 ip адреса
Например в локальной сети через есть 2 подсети и нужно чтобы использовалось 2 ip адреса при подключении к базе
71 2021-09-17 07:29:10
Re: инкрементный поиск (3 replies, posted in Russian)
Здравствуй,
Вы связали объект monthcalendar1 с таблицей и именем поля, которое содержит дату? Возможно, это проблема.
См. Прилагаемый файл.
С уважением,
Derek.
Подскажи пожалуйста а как это будет выглядить на MySQL
72 2021-09-17 06:45:46
Re: Label по условию? (5 replies, posted in Russian)
procedure Form1_OnShow (Sender: TObject; Action: string);
begin
if sqlexecute('select count(*) from label') = 0 then sqlexecute('insert into label (cap) values ("default")');
form1.label3.Caption := sqlexecute('select cap from label');
end;
procedure frmLabel_Button1_OnClick (Sender: TObject; var Cancel: boolean);
begin
sqlexecute('update label set cap = "'+frmlabel.edit1.text+'"');
form1.label3.Caption := sqlexecute('select cap from label');
end;
Все разобрался
73 2021-09-17 03:17:54
Topic: Label по условию? (5 replies, posted in Russian)
Привет программсты! Подскажите пожалуйста возможно сделать следующее: В Textbox прописываем любое слово, сохраняем кнопкой и на форме показывает то что сохранили в Label?
74 2021-09-12 12:42:07
Re: Если вдруг тормозит поиск>? (5 replies, posted in Russian)
Такая проблема во времени не наблюдалась.
Если проблема только на вашем компе, начните с него.
Если поиск у вас обычный, с вводом и нажатием кнопки поиск, то задержка при вводе текста может быть связана
с програмным обеспечением на компе.
Если поиск у вас инкрементный, то смотреть нужно и на своем компе и в сторону MYSQL.
Пауза(торможение) обычно уходит на посылку запроса и возвращение результата.
Зависит где установлен сервер, связь и т.д..
А также поиск по какой маске(как осуществляется), в каких таблицах, какие типы полей, кол-во записей и еще
много чего.
В MYSQL есть логи медленных запросов, есть возможность исследования (explain) запроса.В обоих случаях, если только вы ничего специфического в программе не сотворили.
Повторю еще раз, такая проблема не наблюдалась.
Да вроде окно с таблицей и поиском в базе 1000 человек. Специфического ничего не делал...Работает по сети изернет локальная 1 gb сек
Вначале все ок после простоя программы какое то время быстро вообщем в поиске не наберешь начинает подтормаживать,,, даже не знаю уже что делать ...
75 2021-09-12 12:39:29
Re: Если вдруг тормозит поиск>? (5 replies, posted in Russian)
Ввод и запрос выполняются синхронно, в одном потоке, поэтому тормоза. Можно несколько локализовать эту проблему через таймер.
Можно поподробнее?