![Фотография](https://vse.kz/public/style_images/osnovnoi34/profile/default_large.png)
Delphiпомощь, консультация
#63
Отправлено 14.03.2010, 18:52:07
![](https://vse.kz/public/style_images/osnovnoi34/post_offline.png)
есть проблема: на форме есть edit'ы, кнопочки, listview. необходимо при изменений размера формы также изменять размер listview'а. видно что нужно использовать событие onresize. какие значения нужно брать для формы и для listview'а?
#65
Отправлено 14.03.2010, 19:29:49
![](https://vse.kz/public/style_images/osnovnoi34/post_offline.png)
спс за ответ пред. вопроса.
есть проблема: на форме есть edit'ы, кнопочки, listview. необходимо при изменений размера формы также изменять размер listview'а. видно что нужно использовать событие onresize. какие значения нужно брать для формы и для listview'а?
Align ?
#73
Отправлено 17.03.2010, 21:12:43
![](https://vse.kz/public/style_images/osnovnoi34/post_offline.png)
запрос: select * into table_1 from table_2 where поле_1 = значение_1
нужно переделать под мускул.
спс.
Вопросы нужно задавать конкретно. Что такое автотранзакция? Что такое Query1? К какому классу он относится? Какое СУБД? Какой класс используешь для соединения с БД?
Сообщение отредактировал Big Joe: 17.03.2010, 21:13:38
#74
Отправлено 19.03.2010, 00:33:45
![](https://vse.kz/public/style_images/osnovnoi34/post_offline.png)
![:spy:](http://vse.kz/public/style_emoticons/default/smoke.gif)
MySQL да и любой другой SQL используемый в компонентах класса TQuery не требует вызова процедур StartTransaction|EndTransaction, по крайней мере в десятках проектов написанных мной я даже не заморачивался этим, а вот если используется FireBird - то тогда уже есть причина их использовать. Учитывая что YbRay явно новичок, можно предположить что работает он банально с MS Jet - то бишь с Access-ом или на крайний случай вообще с Paradox - в обоих случаях ответ - да, принудительная реализация механизмов транзакций не требуется, если не подразумевается, что одновременно с записью будут работать несколько пользователей, да и то в этом случае ошибок не возникнет, кроме нарушения логики работы приложения и некорректного, точнее неактуального отображения данных.
Ybray: select * into table_1 from table_2 where поле_1 = значение_1 - я так понимаю вы хотите данных из одной таблице вставить в другую.
Ничто мешает вам сделать так:
Query1.SQL.Text:='SELECT * From table_2 where поле_1 = значение_1';
Query1.Active:=true;
Query2.SQL.Text:='INSERT INTO table_1 (поле_1, поле_2...) VALUES (:par1,:par2,....)';
for i:=1 to Query1.RecordsCount do begin
Query2.ParamByName('par1').AsInteger:=Query1.Fields[0].AsInteger;
Query2.ParamByName('par1').AsString:=Query1.Fields[1].AsString;
// это для нативного MySQL. Для MS Access надо писать:
// Query2.Parameters.ParamByName('par1').Value:=...
Query2.ExecSQL;
Query1.Next;
end;
Query1.Active:=false;
Сообщение отредактировал sobol: 19.03.2010, 00:41:36
#75
Отправлено 19.03.2010, 12:12:45
![](https://vse.kz/public/style_images/osnovnoi34/post_offline.png)
Big Joe - ну что вы усложняете
![]()
MySQL да и любой другой SQL используемый в компонентах класса TQuery не требует вызова процедур StartTransaction|EndTransaction, по крайней мере в десятках проектов написанных мной я даже не заморачивался этим, а вот если используется FireBird - то тогда уже есть причина их использовать. Учитывая что YbRay явно новичок, можно предположить что работает он банально с MS Jet - то бишь с Access-ом или на крайний случай вообще с Paradox - в обоих случаях ответ - да, принудительная реализация механизмов транзакций не требуется, если не подразумевается, что одновременно с записью будут работать несколько пользователей, да и то в этом случае ошибок не возникнет, кроме нарушения логики работы приложения и некорректного, точнее неактуального отображения данных.
Так я объясняю начинающему как правильно задавать вопросы, на других форумах ведь и удалить могут ветку. Да, и опыта у меня может и меньше чем у вас, но я никогда не видел что бы в принципе у Query стартовали транзакцию, у сессии Да, но что бы у TQuery ..........???? Например если бы он сказал что работает с БД Оракул, с помощью ODAC, тогда я бы посоветовал стартовать транзакцию у сессии и отключить (conn.autocommit := false) затем выполнять проверку IsTransaction, при надобности стартовать заново.
Если бы он написал что использует MySQL с помощью ZEOS, стартовать транзакцию у сессии не нужно, но нужно отключить автокоммит методом SetAutocommit(false). А гадать что он использует, по признакам новичок он или нет, глупо мне кажется.
Количество пользователей, читающих эту тему: 0
пользователей: 0, неизвестных прохожих: 0, скрытых пользователей: 0