Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > БД в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 27.08.2013, 21:00   #1
MIKE11IPME
Форумчанин
 
Регистрация: 03.05.2010
Сообщений: 159
Восклицание Получение данных из записи

Есть Табле1 в него вношу данные , все нормально вносится , но мне надо эти данные перекинуть в Табле3 , обращаюсь к нему через ДатаСорс3 , в нем уже добавлена запись "Аппенд" но пока не "Постед"
Код:
with Form1 do
    begin
      DataSource3.DataSet.FieldByName( 'CodeLPZ' ).AsInteger:=Table1.FieldByName( 'CodeLPZ' ).AsInteger;
      DataSource3.DataSet.FieldByName( 'NameLPZ' ).AsString:=Table1.FieldByName( 'NameLPZ' ).AsString;
      DataSource3.DataSet.FieldByName( 'Raion' ).AsString:=Table1.FieldByName( 'Raion' ).AsString;
      DataSource3.DataSet.FieldByName( 'Hozform' ).AsString:=Table1.FieldByName( 'Hozform' ).AsString;
      Table1.Post;
      DataSource3.DataSet.Post;
    end;
Но пишет что Табел1: датасет не в Едит или Инсерт состоянии , хотя как раз в нем и находится он сейчас
Да и сие происходит в модальном окне (где я вношу недостающие данные через бдЕдиты в Табле1) , которое вызывается , во время внесения данных в Табле1 из основной формы.
MIKE11IPME вне форума Ответить с цитированием
Старый 27.08.2013, 21:06   #2
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 19,042
По умолчанию

Ну раз пишет, то значит оно так и есть. Проверьте значение свойства State перед Post
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 27.08.2013, 21:15   #3
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,792
По умолчанию

Так надежнее:
Код:
Form1.Table1.Post;
with Form1.DataSource3.DataSet do
    begin
      insert;
      FieldByName( 'CodeLPZ' ).AsInteger:=Table1.FieldByName( 'CodeLPZ' ).AsInteger;
      FieldByName( 'NameLPZ' ).AsString:=Table1.FieldByName( 'NameLPZ' ).AsString;
      FieldByName( 'Raion' ).AsString:=Table1.FieldByName( 'Raion' ).AsString;
      FieldByName( 'Hozform' ).AsString:=Table1.FieldByName( 'Hozform' ).AsString;
      Post;
    end;
Смысл: не разлучать команду начала вставки с командами внесения данных и коммита (он же post в данном случае).
Если между ними вставить любую другую команду обращения к БД можно поиметь ошибку.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 27.08.2013, 21:19   #4
MIKE11IPME
Форумчанин
 
Регистрация: 03.05.2010
Сообщений: 159
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
Так надежнее:
Код:
Form1.Table1.Post;
with Form1.DataSource3.DataSet do
    begin
      insert;
      FieldByName( 'CodeLPZ' ).AsInteger:=Table1.FieldByName( 'CodeLPZ' ).AsInteger;
      FieldByName( 'NameLPZ' ).AsString:=Table1.FieldByName( 'NameLPZ' ).AsString;
      FieldByName( 'Raion' ).AsString:=Table1.FieldByName( 'Raion' ).AsString;
      FieldByName( 'Hozform' ).AsString:=Table1.FieldByName( 'Hozform' ).AsString;
      Post;
    end;
Смысл: не разлучать команду начала вставки с командами внесения данных и коммита (он же post в данном случае).
Если между ними вставить любую другую команду обращения к БД можно поиметь ошибку.
Да абсолютно правы , уже сам решил сию проблему , переместив в эту же процедуру и создание записи в датасосре3 , она у меня создавалась сразу при открытии модального окна(в событиях "создания" формы)
Но вот "Пост" нормально работает , из какой части кода его не вызывай.

Последний раз редактировалось MIKE11IPME; 27.08.2013 в 21:32.
MIKE11IPME вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Получение данных King_Of_Arthur БД в Delphi 1 05.08.2013 10:31
получение данных из файла и запись этих данных в другой. Jurii77 Microsoft Office Excel 9 23.11.2011 09:42
получение картинки по на жатию на записи в дб грид Lokos БД в Delphi 2 03.03.2010 07:38
получение данных avis Win Api 0 19.12.2009 19:24
Получение данных с БД. urgu_st SQL, базы данных 5 13.01.2009 15:11