Дмитрий, добрый день! Хочу перенести базу данных с SQLite на MySQL, но почему то индексы не переносятся, а в БД MySQL идут по порядку, соответственно данные не соответствуют действительности. Через Workbench и другие приложения для работы с БД MySQL тоже самое. Как корректно перенести данные? И если в полях данных используются запятые, то каким разделителем пользоваться для определения полей?

Спасибо за помощь!

konstantin wrote:

Если вы прочитаете первое сообщение в топике, то вы встретите там волшебные строки:

{$MySQL disable_connectdialog}
     Form1.MySQLConnection.Server := '127.0.0.1';
     Form1.MySQLConnection.Port := 3306;
     Form1.MySQLConnection.Username := 'root';
     Form1.MySQLConnection.Password := 'root';
     Form1.MySQLConnection.Database := 'mvd';

     try
         Form1.MySQLConnection.Connect;
     except
         frmWait.Close;
         ShowMessage('Can''t connect to database.');
         Form1.Close;
     end;

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

4

(63 replies, posted in Russian)

Спасибо за помощь

5

(63 replies, posted in Russian)

Вот что по этой кнопке выдает

6

(63 replies, posted in Russian)

Никакой запрос не используется, все штатно, ошибка возникает при нажатии на таблицу с данными в форме. На форме три таблицы и все заполняются как дочерние записи к id основной таблицы, то есть к записи которая открыта.
Есть вычисляемое поле в БД для SQLite (SELECT soisp.nameisp FROM soisp WHERE soisp.id=soispdog.id_soisp1)

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

8

(63 replies, posted in Russian)

Добрый день! Перевожу программу с SQLite на MySQL! Перенес данные и в одной из таблиц в формах возникает такая ошибка скрин прилагаю. Причем это основная таблица. Другая подобная таблица работает без ошибок.

Добрый день! Подскажите пожалуйста, как поменять кодировку программным способом в текстовом файле с UTF-8 на UCS-2 LE для загрузки данных в TableGrid? В текстовый файл пишутся логи, хотелось их просматривать с помощью таблицы.

10

(63 replies, posted in Russian)

Странно, но в версии 6.2 этот SQL запрос работает, как и в бета-версии 6.4.
А чтобы работал поиск только по году стандартной кнопкой поиск, соответственно надо и в таблице базы данных чтоб был только год, а не вся дата.

11

(63 replies, posted in Russian)

DriveSoft wrote:
delphinsl wrote:

В версии 6.3 кнопка Отчет SQL не работает!

Проверил, работает.
Приложите пожалуйста проект, для демонстрации проблемы.

Зайдите на вкладку входящие ДСП, сначала записи все видны, если поменять год в datatimepecker на 2019 (там тоже есть записи), а потом обратно на 2020 записи не отображаются.

12

(63 replies, posted in Russian)

В версии 6.3 кнопка Отчет SQL не работает!

13

(24 replies, posted in Russian)

Подскажите, как правильно написать условие чтобы выводились и пустые значения в данном условии (vhod_D.id_ishod_d=ishod_d.id or vhod_D.id_ishod_d is NULL). SQL запрос ниже.
select
vhod_D.record_count,
strftime('%d.%m.%Y',vhod_d.date_reg),
vhod_D.number_doc,
strftime('%d.%m.%Y',vhod_D.date_doc),
Organization.name_org,
vhod_D.name_doc,
vhod_D.kol_ekz,
vhod_D.number_ekz,                                     
vhod_D.kol_page,
users.login,
strftime('%d.%m.%Y',vhod_D.date_user),             
strftime('%d.%m.%Y',vhod_D.date_delo),
ishod_d.record_count,
vhod_D.number_delo,
vhod_D.number_list,         
vhod_D.prim,                                   
vhod_D.id,
vhod_D.id_ishod_d,
vhod_D.id_Organization,
vhod_D.id_users,
ishod_d.id,
Organization.id,
users.id

from vhod_d, Organization, users, ishod_d       

where vhod_D.id_Organization=Organization.id and vhod_D.id_users=users.id and (vhod_D.id_ishod_d=ishod_d.id or vhod_D.id_ishod_d is NULL) 
and strftime('%Y',{DateTimePicker3})=strftime('%Y',vhod_D.date_reg)     
order by  vhod_D.record_count

14

(24 replies, posted in Russian)

Спасибо за ответ. Но я не очень понимаю, если в фильтре пишется синтаксис как в SQL-запросе, то мой код теоретический должен работать: strftime('%Y',vhod_d.date_reg)=strftime('%Y',{DateTimePicker3}), тут как раз выделен год из даты. Вопрос что не так? Потому что если написать  strftime('%Y',vhod_d.date_reg)=strftime('%Y','now') то выводит записи текущего года.

15

(24 replies, posted in Russian)

Спасибо за совет. Но в том то и дело что особо часто там вводить ничего не надо, поэтому и надо использовать datatimepecker.

16

(24 replies, posted in Russian)

Добрый день!
Помогите правильно написать фильтр в натройках Tablegrid. Вывод данных в зависимости от года установленного в DateTimePicker.

strftime('%Y',vhod_d.date_reg)=strftime('%Y',{DateTimePicker3})

17

(63 replies, posted in Russian)

В процессе работы происходит при многопользовательском режиме

18

(63 replies, posted in Russian)

Здравствуйте Дмитрий! Возвращаясь к падению базы данных  "повредился файл базы данных" началось когда Проект был конвертирован в версии 5.2. Проверьте пожалуйста у себя. Поскольку вышло так что при стандартных функциях без использования SQL запросов произошла запись не в ту таблицу в которую назначалась запись. Как-то это очень странно. Проект обратно сконвертировал в версии 5.1 работает без сбоев.

19

(54 replies, posted in Russian)

vit007 wrote:

Заработало, была опечатка в CombobBox.

Раз нельзя стрелочку убрать у ComboBox, может тогда есть возможность прикрутить поиск к Edit (текстовому полю)...

Сделайте Edit, а к  нему прикрутите кнопку с поиском по таблице. Сделайте отметку в Edite IncreamSearch выберите срабатывание на эту кнопку.

20

(63 replies, posted in Russian)

Спасибо Дмитрий за совет. Да резервное копирование предусмотрено. Данные не потеряны. я с помощью SQLiteStudio все восстановил. В таблице логов просто уже 32000 записей. На счет MySQL думал тоже но это требует много времени чтобы переписать программу. Бывают сбои в записи если одновременно вносятся записи (действия по кнопкам сохранить). Подскажите SQLite и MySQL сильно принципиально отличаются? Может стоит заняться проектом под MySQL.

21

(63 replies, posted in Russian)

К сожалению файл с базой приложить не могу. Вот описание как это случилось. Программа используется по сети, одновременно с ней работают примерно от 4 до 8 человек. Ошибка случилась при добавлении в таблицу логов. То есть все данные по формам вносятся без ошибок, а вот таблица с ЛОГАМи навернулась. все записи из этой таблицы получилось удалить вручную, кроме двух : последней и еще одной накануне сделанной. Вот SQL запрос6

      SQLExecute ('INSERT INTO logs (date, operation, id_emp, num_GK, num_dog, mac,login1,dogizm,stageizm)' +
     'VALUES ('+sCurrentDate+','+sOperation+','+sEmpID+','+'NULL'+','+sNumDog+','''+sMac+''', '''+sUser+''', '''+sDogIzm+''', '''+sIzm+''')');

Всегда все работало. Никаких проблем не было.

22

(63 replies, posted in Russian)

Что делать если выдает такую ошибку?

Спасибо все заработало только необходимо 'дсп' записать ''дсп'' - две одинарные ковычки

Подскажите как добавить к полю текст?
Написал такой код:
Add_IzdBook.ComboBox3.dbSQLExecute('SELECT record_count,id FROM Ishod union all select record_count||''дсп'',id FROM Ishod_d order by record_count,record_count');

НЕ РАБОТАЕТ(

25

(24 replies, posted in Russian)

Спасибо Дмитрий! Разобрался. Жаль, что раньше такого не знал в другом проекте сделал бы иначе. Кстати у чекбокса не работает изменения цвета шрифта.