Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Базы данных
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 15.04.2013, 11:38
childeroland childeroland вне форума
Прохожий
 
Регистрация: 15.04.2013
Сообщения: 21
Версия Delphi: Delphi 7
Репутация: 10
По умолчанию При в воде данных dbmemo отображаются данные предыдущей записи

Привет, с Delphi разбираюсь, да и вообще с программированием, совсем недавно, и вот столкнулся с такой проблемой. Подключаюсь через BDE к таблице .dbf, к одному из полей типа memo таблицы привязан компонент dbmemo. Мне нужно через этот компонент ввести данные в blob-поле, но когда я начинаю вводить новые данные в пустой dbmemo в нём тут же появляются данные с предыдущей записи. Опытным путём установил, что данные берутся не из таблицы, так как, если удалить запись, то всё равно данные, которой этой записи принадлежали, отображаются. Делал
Код:
dbmemo1.lines.clear
, при загрузке программы dbmemo отчищается, но начинаешь вводит данные, пресловутая предыдущая запись появляется вновь... Что я делаю не так, и как мне решить эту проблему?
Ответить с цитированием
  #2  
Старый 15.04.2013, 12:50
Аватар для Mrak
Mrak Mrak вне форума
Местный
 
Регистрация: 26.01.2013
Адрес: МО
Сообщения: 438
Версия Delphi: XE2
Репутация: 17
По умолчанию

щас кинул себе dbmemo --> datasource --> query
из базы поле MEDIUMTEXT отображает так как надо

а как ты между записями переключаешься? или у тебя одна?)
думаю, чтоб изменения внеслись, нужна кнопочка еще - сохранить введенные данные в бд
и еще про AutoDisplay почитай
__________________
Я за здоровый экстрим!
Спасибо за "спасибо")

Последний раз редактировалось Mrak, 15.04.2013 в 14:18.
Ответить с цитированием
  #3  
Старый 15.04.2013, 14:29
Аватар для Страдалецъ
Страдалецъ Страдалецъ вне форума
Гуру
 
Регистрация: 09.03.2009
Адрес: На курорте, из окна вижу теплое Баренцево море. Бррр.
Сообщения: 4,723
Репутация: 52347
По умолчанию

Каким образом привзяан компонент DbMemo к таблице?
__________________
Жизнь такова какова она есть и больше никакова.
Помогаю за спасибо.
Ответить с цитированием
  #4  
Старый 15.04.2013, 15:22
childeroland childeroland вне форума
Прохожий
 
Регистрация: 15.04.2013
Сообщения: 21
Версия Delphi: Delphi 7
Репутация: 10
По умолчанию

Цитата:
Сообщение от Страдалецъ
Каким образом привзяан компонент DbMemo к таблице?

файл .dbf -> DataSource ->dbMemo, свойство DataField указывает на поле типа memo
Ответить с цитированием
  #5  
Старый 15.04.2013, 15:26
Аватар для Mrak
Mrak Mrak вне форума
Местный
 
Регистрация: 26.01.2013
Адрес: МО
Сообщения: 438
Версия Delphi: XE2
Репутация: 17
По умолчанию

а если обычный мемо использовать? вариант?
Код:
memo1.Text:=dm.Query1.FieldByName('field').AsString;
__________________
Я за здоровый экстрим!
Спасибо за "спасибо")
Ответить с цитированием
  #6  
Старый 17.04.2013, 07:06
childeroland childeroland вне форума
Прохожий
 
Регистрация: 15.04.2013
Сообщения: 21
Версия Delphi: Delphi 7
Репутация: 10
По умолчанию

Цитата:
Сообщение от Mrak
а если обычный мемо использовать? вариант?
Код:
memo1.Text:=dm.Query1.FieldByName('field').AsString;

Вообще, конечно, вариант, но, как я писал, практического опыта программирования мало, поэтому я слепо верю всему, что пишут в книжках... Вроде как dbMemo очень хорошо дружит с blob-полями, вот я и решил его использовать. На сколько я понял, то, что происходит у меня - это не типичное поведение компонента, или типичное при условии того, что я что-то делаю неправильно. Рано или поздно всё равно мне придётся с этим столкнуться, вот я и решил разобраться. Со временем... Для экономии последнего попробую таки обычный мемо
Ответить с цитированием
  #7  
Старый 15.04.2013, 15:19
childeroland childeroland вне форума
Прохожий
 
Регистрация: 15.04.2013
Сообщения: 21
Версия Delphi: Delphi 7
Репутация: 10
По умолчанию

Цитата:
Сообщение от Mrak
щас кинул себе dbmemo --> datasource --> query
из базы поле MEDIUMTEXT отображает так как надо

а как ты между записями переключаешься? или у тебя одна?)
думаю, чтоб изменения внеслись, нужна кнопочка еще - сохранить введенные данные в бд
и еще про AutoDisplay почитай

AutoDisplay меняет ситуацию ровно на столько, что пока я дважды не щёлкну по полю dbmemo, я не могу ввести свои данные, как только двойной щелчок проходит снова появляется предыдущая строка (строки).
По записям я пока не переключаюсь, на форме есть ещё dbgrid, в который через query выводится всё содержимое таблицы, навигации пока нет, есть ещё dblookupcombo, изменение данных в котором меняет строку запроса в query и, соответственно, меняет содержимое dbgrid... Кнопочка для внесения данных имеется, вопрос, собственно, не в этом, как раз данные я в таблицу заношу, но когда дохожу до dbmemo, стоит только в нём ввести один символ, тут же появляется текст, который я вводил раньше
Ответить с цитированием
  #8  
Старый 29.04.2013, 13:25
Black Raider Black Raider вне форума
Местный
 
Регистрация: 31.05.2010
Адрес: Москва
Сообщения: 466
Версия Delphi: 7
Репутация: 40
По умолчанию

Цитата:
Сообщение от childeroland
Делал
Код:
dbmemo1.lines.clear
, при загрузке программы dbmemo отчищается, но начинаешь вводит данные, пресловутая предыдущая запись появляется вновь... Что я делаю не так, и как мне решить эту проблему?

А если перед тем как вводить данные сделать
Код:
Table.Insert;
?
ну или (ADOTable или что там у вас.)
__________________
Новый вирус - "БОМЖ"! Он просто роется в Корзине...и спит под ярлычком "Сетевое окружение"
Ответить с цитированием
  #9  
Старый 29.04.2013, 14:42
childeroland childeroland вне форума
Прохожий
 
Регистрация: 15.04.2013
Сообщения: 21
Версия Delphi: Delphi 7
Репутация: 10
По умолчанию

Цитата:
Сообщение от Black Raider
А если перед тем как вводить данные сделать
Код:
Table.Insert;
?
ну или (ADOTable или что там у вас.)
Код:
Table.Insert
... Интересно, не пробовал, метод Insert вызываю при нажатии на кнопку [Записать], с соответствующим обработчиком... Обязательно попробую, спасибо.
Ответить с цитированием
Ответ


Delphi Sources

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

Расширенный поиск
Опции просмотра
Комбинированный вид Комбинированный вид

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 18:19.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025