Добро пожаловать в форум, Guest >> Войти | Регистрация | Поиск | Правила | | В избранное | Подписаться | ||
Все форумы / Delphi |
![]() ![]() |
Топик располагается на нескольких страницах: ←Ctrl назад 1 .. 40 41 42 43 44 [45] 46 47 48 49 50 вперед Ctrl→ |
Dmitry Arefiev Member Откуда: Сообщений: 9923 |
CleanupTimeout - пул будет просыпаться кажые CleanupTimeout, что бы заняться удалением (cleanup) ненужных соединений ExpireTimeout - во время cleanup будут удаляться соединения, которые не использовались в течении ExpireTimeout |
10 июн 19, 09:12 [21905669] Ответить | Цитировать Сообщить модератору |
cptngrb Member Откуда: Сообщений: 663 |
Dmitry Arefiev, если поставить по нулям, то удаляться ничего не будет? |
10 июн 19, 14:08 [21905936] Ответить | Цитировать Сообщить модератору |
Alex Filipkin Member Откуда: Новосибирск Сообщений: 5 |
Приветствую. В Delphi 10.3 (Rio) в FireDAC статическая библиотека sqlite3 на какой версии SQLite запилена? Интересует с точки зрения поддержки UPSERT (который с 3.24.0 появился). У меня Seattle, UPSERT не поддерживается. А если динамически цеплять dll то с шифрованием заморочки ;0( Если есть у кого Rio посмотрите пожалуйста версию библиотеки в FDConnection (DriverName = SQLite) на вкладке Info. |
14 авг 19, 05:15 [21948766] Ответить | Цитировать Сообщить модератору |
Близнец1980 Member Откуда: Сообщений: 95 |
Delphi 10.3 Version 26.0.34749.6593
|
|||
14 авг 19, 07:36 [21948777] Ответить | Цитировать Сообщить модератору |
Alex Filipkin Member Откуда: Новосибирск Сообщений: 5 |
Спасибо большое! К сожалению, прикрутить sqlite3_x86.obj от Rio к Seattle не получилось ;0( Похоже, придётся портировать проект ... |
||
14 авг 19, 12:50 [21949123] Ответить | Цитировать Сообщить модератору |
istrebitel Member Откуда: Сообщений: 123 |
При назначении обработчика OnUpdateRecord в TFDQuery, перестаёт работать RefreshRecord для вставленных записей. Стек вызовов FireDAC.Comp.DataSet.TFDDataSet.InternalFetchNested($7E51A5B0,nil,[foBlobs,foDetails,foData,foClear]) FireDAC.Comp.DataSet.TFDDataSet.RefreshRecordBase([foData,foAfterIns,foClear,foNoIdentity,(out of bound) 10,(out of bound) 12,(out of bound) 13,(out of bound) 14,(out of bound) 15]) FireDAC.Comp.DataSet.TFDDataSet.RefreshRecord(???) frmTest.TfrmTest_.Button3Click($7E8FBC20) function TFDDataSet.InternalFetchNested(ARow: TFDDatSRow; ANestedTable: TFDDatSTable; ARowOptions: TFDPhysFillRowOptions): Boolean; ... begin UpdateCursorPos; Result := False; if (ANestedTable <> nil) and (ARow = nil) then Exit; if ARow = nil then ARow := GetRow; if (ARow = nil) or (ARow.RowState in [rsInserted, rsDetached]) then // тут отваливается т.к. ARow.RowState = rsInserted Exit; А rsInserted он потому что в FireDAC.DApt.TFDDAptTableAdapter.ProcessUpdate($7E51A8F0,eaDefault,arInsert,[uoImmediateUpd],[],-1) FireDAC.DApt.TFDDAptTableAdapter.Update(???,???,[uoImmediateUpd],???) FireDAC.Comp.Client.TFDCustomTableAdapter.Update($7E51A8F0,eaDefault,[uoImmediateUpd],arInsert) FireDAC.Comp.Client.TFDAdaptedDataSet.DoProcessUpdateRequest(arInsert,[uoOneMomLock,(out of bound) 6]) FireDAC.Comp.DataSet.TFDDataSet.InternalAddRecord(???,???) FireDAC.Comp.DataSet.TFDDataSet.InternalPost Data.DB.TDataSet.CheckOperation((FireDAC.Comp.DataSet.TFDDataSet.InternalPost,$7EDC9900),(nil,nil)) Data.DB.TDataSet.Post FireDAC.Comp.DataSet.TFDDataSet.Post frmTest.TfrmTest_.Button5Click($7E8FCB20)
Как победить? |
|
16 авг 19, 10:45 [21950792] Ответить | Цитировать Сообщить модератору |
Atanas Member Откуда: Сообщений: 98 |
Доброго дня, всем Потребовалось добыть transaction_id в Firedac, подключенном к Firebird. Отдельную транзакцию (компонент TFDTransaction) не использую. FDConnection1.Connected := true; FDQuery1.Open(); ShowMessage( TIBTransaction(FDConnection1.ConnectionIntf.Transaction.CliObj).TransactionID.ToString); Дает ошибку: [FireDAC][Phys][FB]invalid transaction handle (expecting explicit transaction start) Если же пытаюсь через FDQuery1 получить, то тоже ошибка. ShowMessage( TIBTransaction(FDQuery1.Transaction.TransactionIntf).TransactionID.ToString); External exception 80000003. Потому что FDQuery1.Transaction=nil . Вопрос, как добыть id транзакции, которую поднимает FDConnection? |
23 авг 19, 14:32 [21956510] Ответить | Цитировать Сообщить модератору |
Sashaua Member Откуда: Kiev Сообщений: 182 |
Подскажите как пользоваться RefreshUnknownRecord? в документации скудно описано. |
22 сен 19, 01:23 [21976133] Ответить | Цитировать Сообщить модератору |
ёёёёё Member Откуда: Сообщений: 2017 |
Открыл ты датасет А. Например, загрузил записи из таблички. А потом каким-то способом, не завязанном на датасет А (например, в отдельной форме, со своими компонентами работы с данными) добавил в табличку еще одну запись. А в датасете А ее нет, ведь данные грузились до добавления. А хорошо бы, чтобы была. Вот и вот, вместо перечитывания всего датасета А, просто добавляется еще одна запись. Причем, можно даже данные не все указывать, а только ключевое поле, но при этом попросить фаердак считать нужные данные из таблички. |
||
22 сен 19, 02:38 [21976139] Ответить | Цитировать Сообщить модератору |
Sashaua Member Откуда: Kiev Сообщений: 182 |
ёёёёё, [quot ёёёёё]
Идею работы я понял. В каком виде указываются ключевые поля, или поле. |
||
22 сен 19, 10:05 [21976172] Ответить | Цитировать Сообщить модератору |
ёёёёё Member Откуда: Сообщений: 2017 |
Sashaua,procedure RefreshUnknownRecord(const AValues: array of Variant; AReread: Boolean = True; ASetPos: Boolean = True); aValues - передаешь вариантный массив, количество элементов соответствует количеству полей датасета, также учитываешь позиционное соответствие. Элемент массива, соответствующий ключевому полю добавленной записи - заполняется значением ключевого поля. Остальные элементы - Null. aRread - True. aSetPos - по желанию. Всё. ЗЫ: фаердаком я не пользуюсь, просто так написано в документации. |
22 сен 19, 15:46 [21976246] Ответить | Цитировать Сообщить модератору |
Sashaua Member Откуда: Kiev Сообщений: 182 |
ёёёёё, Огромное спасибо, вот
|
||
23 сен 19, 00:22 [21976403] Ответить | Цитировать Сообщить модератору |
Sashaua Member Откуда: Kiev Сообщений: 182 |
Подскажите ответ еще на один глупый вопрос. есть выборка select a.id_model, b.name_model,p.price from storehouse a join models b on b.id_model=a.id_model join price c on c.id_model=a.id_model where a.id_client=:id_client and c.id_price=:id_price Есть процедура редактирования записи которая изменяет запись в таблице models поле name_model Как в FDUpdateSQL.FetchRowSQL надо прописать запрос чтобы перечитать обновленную запись? Побывал select a.id_model, b.name_model,p.price from storehouse a join models b on b.id_model=a.id_model join price c on c.id_model=a.id_model where a.id_client=:id_client and c.id_price=:id_price and d.id_model=:OLD_id_modelвозвращается ошибка после RefreshRecord Побывал where a.id_client=:OLD_id_client and c.id_price=:OLD_id_price and d.id_model=:OLD_id_modelвозвращается ошибка после RefreshRecord заранее спасибо |
3 окт 19, 20:32 [21986258] Ответить | Цитировать Сообщить модератору |
ёёёёё Member Откуда: Сообщений: 2017 |
Пробовал, бл?*:!! |
3 окт 19, 20:35 [21986263] Ответить | Цитировать Сообщить модератору |
Vlad F Member Откуда: Сообщений: 1341 |
Так это же просто своеобразная игра слов. - Порутчик, а это правда, что вы в молодости были членом суда? - Ах, молодость, молодость, - членом туда, членом сюда.. |
3 окт 19, 20:44 [21986271] Ответить | Цитировать Сообщить модератору |
Gator Member Откуда: Москва Сообщений: 14980 |
Ну какая у летёхи Молодость? |
3 окт 19, 21:35 [21986282] Ответить | Цитировать Сообщить модератору |
Gator Member Откуда: Москва Сообщений: 14980 |
Sashaua, про UPDATE|INSERT/DELETE dac должен сам догадаться? |
3 окт 19, 21:42 [21986286] Ответить | Цитировать Сообщить модератору |
Sashaua Member Откуда: Kiev Сообщений: 182 |
Gator, UPDATE/INSERT - выполняются в отдельных процедурах. Если например выборку изменить select a.id_model, b.name_model from models a и в FDUpdateSQL.FetchRowSQL select a.id_model, b.name_model from models a where a.id_model=:OLD_id_model Все прекрасно обновляется после редактирования записи, и RefreshUnknownRecord после добавления записи обновляет добавленную запись. Вопрос как должен быть сформирован FetchRowSQL когда в выборке несколько таблиц условие выборки (where ) |
3 окт 19, 22:35 [21986312] Ответить | Цитировать Сообщить модератору |
Gator Member Откуда: Москва Сообщений: 14980 |
|
||
3 окт 19, 23:47 [21986329] Ответить | Цитировать Сообщить модератору |
white_nigger Member Откуда: Тула Сообщений: 2469 |
![]() |
||
4 окт 19, 01:13 [21986341] Ответить | Цитировать Сообщить модератору |
Страдалецъ Member Откуда: Мурманск Сообщений: 1456 |
Осваиваю SQLite и FireDac. Столкнулся с необходимостью передать аргумент функции в SQL запросе как параметр. Вот такой запрос: select StrFTime('%d.%m.%Y',Date) as FDate from Test; а мне надо примерно так: set @DateFormat='%d.%m.%Y'; select StrFTime(@DateFormat,Date) as FDate from Test; но так не работает. Как-то можно это побороть? |
8 окт 19, 19:35 [21989816] Ответить | Цитировать Сообщить модератору |
Dmitry Arefiev Member Откуда: Сообщений: 9923 |
select StrFTime(:p,Date) as FDate from Test; |
9 окт 19, 09:47 [21990090] Ответить | Цитировать Сообщить модератору |
Игорь_UUS Member Откуда: г. Екатеринбург Сообщений: 680 |
Добрый день. Данные параметры могут как то негативно влиять на работу TFDEventAlerter, в совокупности работы с MSSQL? Непонятно по каким причинам, но похоже TFDEventAlerter рвёт соединение с MSSQL (или "кто-то" помогает в этом), далее происходит длительное восстановление соединения TFDEventAlerter с MSSQL, которое отражается на основном потоке, программа зависает на 30-60 секунд (используется DX 10.3.2). Сеть стабильная, всё по "проводу" (т.е. без вайфая), сеть внутренняя локалка |
||
9 окт 19, 10:58 [21990165] Ответить | Цитировать Сообщить модератору |
white_nigger Member Откуда: Тула Сообщений: 2469 |
Дмитрий, я тебе письмецо отправил об изменениях в FireDac для Oracle в 10.3.2. Прокомментируй как время будет |
8 ноя 19, 14:30 [22012365] Ответить | Цитировать Сообщить модератору |
Dmitry Arefiev Member Откуда: Сообщений: 9923 |
white_nigger, я ответил еще 2 ноября. |
8 ноя 19, 15:48 [22012434] Ответить | Цитировать Сообщить модератору |
Топик располагается на нескольких страницах: ←Ctrl назад 1 .. 40 41 42 43 44 [45] 46 47 48 49 50 вперед Ctrl→ |
Все форумы / Delphi | ![]() |